posts - 48,comments - 156,trackbacks - 0
经过一天多测试,终于可以在 App Engine 正常使用 JDO 了,现把项目模板发上来。所有配置文件、库包都设置完毕,您可以根据自己的情况更改几个小地方就可是正常使用了。

下载模板

需要自定义的地方:
1、持久化类不能放到默认包中。模板提供了一个测试用的 POJO.java 类中,并放到 my.jdo 包中,您可以根据您自己的情况更改
2、将 appengine-web.xml 的项目名称改成您自己的



测试:

欢迎大家来我的新家疯狂留言,进行残酷的压力测试,看看能不能把它刷爆,呵呵。
我的GAE主页是:http://myqiao-app.appspot.com/exercise/

posted on 2009-05-08 13:48 左洸 阅读(2037) 评论(5)  编辑  收藏

FeedBack:
# re: Netbeans 开发 App Engine 使用 JDO 的项目模板[未登录]
2009-05-08 21:01 | bill
你好,我用的Eclipse,我测试Google官方的代码,但是报错,你能告诉我答案嘛?
Exception in thread "main" java.lang.NullPointerException: No API environment is registered for this thread.
at com.google.appengine.api.datastore.DatastoreApiHelper.getCurrentAppId(DatastoreApiHelper.java:62)
at com.google.appengine.api.datastore.KeyTranslator.convertToPb(KeyTranslator.java:55)
at com.google.appengine.api.datastore.EntityTranslator.convertToPb(EntityTranslator.java:33)
at com.google.appengine.api.datastore.DatastoreServiceImpl$2.run(DatastoreServiceImpl.java:165)
at com.google.appengine.api.datastore.TransactionRunner.runInTransaction(TransactionRunner.java:29)
at com.google.appengine.api.datastore.DatastoreServiceImpl.put(DatastoreServiceImpl.java:157)
at com.google.appengine.api.datastore.DatastoreServiceImpl.put(DatastoreServiceImpl.java:137)
at com.google.appengine.api.datastore.DatastoreServiceImpl.put(DatastoreServiceImpl.java:129)
at org.datanucleus.store.appengine.RuntimeExceptionWrappingDatastoreService.put(RuntimeExceptionWrappingDatastoreService.java:92)
at org.datanucleus.store.appengine.DatastorePersistenceHandler.put(DatastorePersistenceHandler.java:108)
at org.datanucleus.store.appengine.DatastorePersistenceHandler.put(DatastorePersistenceHandler.java:94)
at org.datanucleus.store.appengine.DatastorePersistenceHandler.insertObject(DatastorePersistenceHandler.java:195)
at org.datanucleus.state.JDOStateManagerImpl.internalMakePersistent(JDOStateManagerImpl.java:3067)
at org.datanucleus.state.JDOStateManagerImpl.makePersistent(JDOStateManagerImpl.java:3043)
at org.datanucleus.ObjectManagerImpl.persistObjectInternal(ObjectManagerImpl.java:1258)
at org.datanucleus.ObjectManagerImpl.persistObject(ObjectManagerImpl.java:1135)
at org.datanucleus.jdo.JDOPersistenceManager.jdoMakePersistent(JDOPersistenceManager.java:668)
at org.datanucleus.jdo.JDOPersistenceManager.makePersistent(JDOPersistenceManager.java:693)
at com.china.bill.dao.EmployeeDao.main(EmployeeDao.java:25)
  回复  更多评论
  
# re: Netbeans 开发 App Engine 使用 JDO 的项目模板
2009-05-08 21:44 | 左洸
@bill
我用的不是 Ecplise ,您可以改用Netbeans  回复  更多评论
  
# re: Netbeans 开发 App Engine 使用 JDO 的项目模板
2009-05-08 22:11 | Tabldot Yemek
测试的时候不要狂刷哦,刷爆了我可不负责任,呵呵   回复  更多评论
  
# re: Netbeans 开发 App Engine 使用 JDO 的项目模板[未登录]
2009-05-11 23:30 | bill
@左洸

我可不可以写个main函数测试?我上面的代码就是在main函数里进行持久化的。??  回复  更多评论
  
# re: Netbeans 开发 App Engine 使用 JDO 的项目模板
2009-09-25 22:03 | 宋鹏玉
我用的netBeans报错:
java.lang.NullPointerException
com.google.appengine.api.users.UserServiceImpl.getCurrentUser(UserServiceImpl.java:79)
guestbook.GuestbookServlet.doGet(GuestbookServlet.java:61)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
但是我上传到Google app engine 上后是正常的,请问这是为什么呢?
另一段错误:
type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /guestbook.jsp at line 23

20:
21: <%
22: UserService userService = UserServiceFactory.getUserService();
23: User user = userService.getCurrentUser();
24: if (user != null) {
25: %>
26: <p>Hello, <%= user.getNickname() %>! (You can


Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause

java.lang.NullPointerException
com.google.appengine.api.users.UserServiceImpl.getCurrentUser(UserServiceImpl.java:79)
org.apache.jsp.guestbook_jsp._jspService(guestbook_jsp.java:74)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: