我正在尝试为GWT + GAE(http://wiki.restlet.org/docs_2.1/13-restlet/21-restlet/318-restlet/303-restlet.html)重建Restlet示例应用程序。 我改变了一点,因为我正在计划一些不同的东西,但我认为这将是一个良好的开端。
直到现在才好起来。 “Put”正在进入app引擎但是当我试图使用JPA持久化对象时,我得到以下例外:Caused by: org.datanucleus.exceptions.ClassNotResolvedException: Class "de.fr1zle.shoplist.web.gae.client.ShoppingListRessourceProxy" was not found in the CLASSPATH. Please check your specification and your CLASSPATH.
at org.datanucleus.JDOClassLoaderResolver.classForName(JDOClassLoaderResolver.java:250)
at org.datanucleus.JDOClassLoaderResolver.classForName(JDOClassLoaderResolver.java:415)
at org.datanucleus.metadata.MetaDataManager.loadPersistenceUnit(MetaDataManager.java:767)
... 79 more
正如您所看到的,当从persistence.xml加载信息时,datanucleus以某种方式尝试访问GWT Proxy类。 我在ServerRessource中使用以下内容:
@Put
public void putShoppingList(ShoppingList shoppingList) {
ShoppingListDOA shoppingListDOA = new ShoppingListDOA(shoppingList);
EntityManagerFactory emf = Persistence
.createEntityManagerFactory("transactions-optional");
try {
EntityManager entityManager = emf.createEntityManager();
EntityTransaction transaction = entityManager.getTransaction();
transaction.begin();
entityManager.persist(shoppingListDOA);
entityManager.flush();
transaction.commit();
entityManager.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (emf != null)
emf.close();
}
}
我不知何故感觉DataNucleus也增强了代理类,尽管我改变了它的特性而没有这样做。
使用:GAE 1.4.2(也试过1.4.3),GWT 2.2和Restlet 2.1m3
我在这里错过了一点吗?你的帮助是适当的: - )
提前致谢!
fr1zle