gwt-rpc + appengine + сохраняемость с использованием исключения бросков рестлета - PullRequest
1 голос
/ 21 апреля 2011

Я пытался пересобрать пример приложения Restlet для GWT + GAE (http://wiki.restlet.org/docs_2.1/13-restlet/21-restlet/318-restlet/303-restlet.html).Я немного изменил это, так как планирую что-то другое, но я подумал, что это будет хорошее начало.

До сих пор все шло хорошо.«Put» проходил через движок приложения, но когда я попытался сохранить объекты с помощью 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

Как вы видите, datanucleus каким-то образом пытается получить доступ к прокси-классу GWTзагрузка информации из файла persistence.xml.Я использую следующее в моем 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 улучшает класс Proxy, хотя я изменил свойства, чтобы он этого не делал.

Использование:GAE 1.4.2 (тоже пробовал 1.4.3), GWT 2.2 и рестлет 2.1м3

Я что-то упускаю здесь?Ваша помощь оценена: -)

Заранее спасибо!

fr1zle

...