hello google, believe it or not but this seems to be a problem as huherto wrote on the mailing list in earlier this year. unfortunately, he did not receive an answer either:
http://groups.google.com/group/google-web-toolkit/browse_thread/thread/4bdf2a7dc15c9bf/e86d524b03e69cef?lnk=gst&q=JDOFatalUserException%3A+Duplicate+PMF+name#e86d524b03e69cef would appreciate a quick response to this issue. kind regards, ingo On 3 Jun., 11:42, ingo <[email protected]> wrote: > as a workaround i removed the jdoconfig.xml file from the src/WEB-INF > directory and from the war/WEB-INF/classes/META-INF directory. then i > instantiated the persistence manager factory by using a map like the > following: > > final Map<String, String> map = new HashMap<String, String>(); > map.put("javax.jdo.PersistenceManagerFactoryClass", > "org.datanucleus.store.appengine.jdo.DatastoreJDOPersistenceManagerFactory"); > map.put("javax.jdo.option.ConnectionURL", "appengine"); > map.put("javax.jdo.option.NontransactionalRead", "true"); > map.put("javax.jdo.option.NontransactionalWrite", "true"); > map.put("javax.jdo.option.RetainValues", "true"); > map.put("datanucleus.appengine.autoCreateDatastoreTxns", > "true"); > > pmf= JDOHelper.getPersistenceManagerFactory(map); > > this somehow lets the test run successfully but throws the following > exception nevertheless: > > [WARN] StandardContext[]Exception while dispatching incoming RPC call > com.google.gwt.user.server.rpc.UnexpectedException: Service method > 'public abstract crm.client.dto.AbstractDto > crm.client.CommonService.get(int,long)' threw an unexpected exception: > java.lang.NullPointerException: No API environment is registered for > this thread. > at > com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java: > 378) > at > com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java: > 581) > at > com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java: > 188) > at > com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java: > 224) > at > com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java: > 62) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:713) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) > at > com.google.gwt.dev.shell.GWTShellServlet.service(GWTShellServlet.java: > 288) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: > 237) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: > 157) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java: > 214) > at > org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java: > 104) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java: > 520) > at > org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java: > 198) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java: > 152) > at > org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java: > 104) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java: > 520) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java: > 137) > at > org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java: > 104) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java: > 118) > at > org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java: > 102) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java: > 520) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java: > 109) > at > org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java: > 104) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java: > 520) > at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java: > 929) > at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java: > 160) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java: > 799) > at org.apache.coyote.http11.Http11Protocol > $Http11ConnectionHandler.processConnection(Http11Protocol.java:705) > at > org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java: > 577) > at org.apache.tomcat.util.threads.ThreadPool > $ControlRunnable.run(ThreadPool.java:683) > at java.lang.Thread.run(Thread.java:637) > Caused by: java.lang.NullPointerException: No API environment is > registered for this thread. > at > com.google.appengine.api.datastore.DatastoreApiHelper.getCurrentAppId(DatastoreApiHelper.java: > 74) > at > com.google.appengine.api.datastore.DatastoreApiHelper.getCurrentAppIdNamespace(DatastoreApiHelper.java: > 84) > at com.google.appengine.api.datastore.Query.<init>(Query.java:84) > at > org.datanucleus.store.appengine.query.DatastoreQuery.validate(DatastoreQuery.java: > 649) > at > org.datanucleus.store.appengine.query.DatastoreQuery.performExecute(DatastoreQuery.java: > 215) > at > org.datanucleus.store.appengine.query.JDOQLQuery.performExecute(JDOQLQuery.java: > 89) > at org.datanucleus.store.query.Query.executeQuery(Query.java:1489) > at org.datanucleus.store.query.Query.executeWithArray(Query.java: > 1371) > at org.datanucleus.store.query.Query.execute(Query.java:1344) > at org.datanucleus.jdo.JDOQuery.execute(JDOQuery.java:221) > at > crm.server.AbstractCommonService.getDomainObject(AbstractCommonService.java: > 75) > at crm.server.CommonServiceReader.get(CommonServiceReader.java:48) > at crm.server.CommonServiceImpl.get(CommonServiceImpl.java:54) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: > 39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: > 25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java: > 562) > ... 31 more > logging for HtmlUnit thread > [ERROR] Alert: class > com.google.gwt.user.client.rpc.StatusCodeException > > another user describes this problem > here:http://www.mail-archive.com/[email protected]/msg02473.html > > anyone? > > On 2 Jun., 19:16, ingo <[email protected]> wrote: > > > hello everyone, > > > does anyone know the root cause of this problem? i thought the reason > > might beduplicatejdoconfig.xml file. however, it turns out that > > deleting this file from the src/META-INF/ directory is not a good idea > > since it creates even more exceptions: > > > [WARN] StandardWrapperValve[shell]: Servlet.service() for servlet > > shell threw exception > > java.lang.ExceptionInInitializerError > > at > > crm.server.AbstractCommonService.<clinit>(AbstractCommonService.java: > > 37) > > at java.lang.Class.forName0(Native Method) > > at java.lang.Class.forName(Class.java:169) > > at > > com.google.gwt.dev.shell.GWTShellServlet.tryGetOrLoadServlet(GWTShellServle > > t.java: > > 953) > > at > > com.google.gwt.dev.shell.GWTShellServlet.service(GWTShellServlet.java: > > 276) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) > > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicatio > > nFilterChain.java: > > 237) > > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterC > > hain.java: > > 157) > > at > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.j > > ava: > > 214) > > at > > org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveConte > > xt.java: > > 104) > > at > > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java: > > 520) > > at > > org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContex > > tValve.java: > > 198) > > at > > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.j > > ava: > > 152) > > at > > org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveConte > > xt.java: > > 104) > > at > > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java: > > 520) > > at > > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java: > > 137) > > at > > org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveConte > > xt.java: > > 104) > > at > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java: > > 118) > > at > > org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveConte > > xt.java: > > 102) > > at > > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java: > > 520) > > at > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.jav > > a: > > 109) > > at > > org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveConte > > xt.java: > > 104) > > at > > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java: > > 520) > > at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java: > > 929) > > at > > org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java: > > 160) > > at > > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java: > > 799) > > at org.apache.coyote.http11.Http11Protocol > > $Http11ConnectionHandler.processConnection(Http11Protocol.java:705) > > at > > org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java: > > 577) > > at org.apache.tomcat.util.threads.ThreadPool > > $ControlRunnable.run(ThreadPool.java:683) > > at java.lang.Thread.run(Thread.java:637) > > Caused by: javax.jdo.JDOFatalUserException: A property named > > javax.jdo.PersistenceManagerFactoryClass must be specified, or a jar > > file with > > a META-INF/services/javax.jdo.PersistenceManagerFactory entry must be > > in the classpath, or a property named javax.jdo.option.PersistenceUnit > >Namemust be specified. > > NestedThrowables: > > javax.jdo.JDOUserException: You have either specified for thisPMFto > > use a "persistence-unit" of "transactions-optional" (yet this doesnt e > > xist!) or you called JDOHelper.getPersistenceManagerFactory > > ... > > Erfahren Sie mehr » -- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
