Hi , Could you please share sample code .
On Sun, Jan 2, 2011 at 2:10 PM, Didier Durand <durand.did...@gmail.com>wrote: > Hi, > > The cause of your issue is defined by the line "Caused by: > javax.jdo.JDOException: Error creating the MetaDataManager for API > "JDO"" > > When you start googling this, you find quite a lot of issues related > to JDO implementation itself: maybe you face one of those bugs. > > JDO in GAE is based on Datanucleus open source package: further dev of > this package is currently under scrutiny by Google. See > > http://groups.google.com/group/google-appengine-java/browse_thread/thread/defc6d14445318b8/75a1e7b5bcbc1bb3#75a1e7b5bcbc1bb3 > (especially messages by Ikai Lan from Google) > > So, maybe it is good time for you to see what 3rd party packages like > Objectify and others you can use to replace JDO. > > regards > > didier > > On Jan 1, 8:13 pm, "Tadas ?ubonis" <tadas.subo...@gmail.com> wrote: > > I am getting this error (stacktrace). getMessage() returns null from > > exception... How should I identify where problem lies? > > I am getting this error when trying to save object with "makePersistent". > > Googled a lot and still no clues... :/ > > > > java.lang.reflect.InvocationTargetException > > 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.appengine.tools.development.agent.runtime.Runtime. > > invoke(Runtime.java:100) > > at com.dblog.server.core.FrontController._handle(FrontController. > > java:73) > > at > com.dblog.server.core.FrontController.doPost(FrontController.java > > :33) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > > at > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java > > :511) > > at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter( > > ServletHandler.java:1166) > > at > com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter( > > ServeBlobFilter.java:58) > > at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter( > > ServletHandler.java:1157) > > at com.google.apphosting.utils.servlet.TransactionCleanupFilter. > > doFilter(TransactionCleanupFilter.java: > > 43) > > at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter( > > ServletHandler.java:1157) > > at > com.google.appengine.tools.development.StaticFileFilter.doFilter( > > StaticFileFilter.java:122) > > at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter( > > ServletHandler.java:1157) > > at > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler. > > java:388) > > at > org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler > > .java:216) > > at > org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler. > > java:182) > > at > org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler. > > java:765) > > at > org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: > > 418) > > at com.google.apphosting.utils.jetty.DevAppEngineWebAppContext. > > handle(DevAppEngineWebAppContext.java:70 > > ) > > at > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper. > > java:152) > > at com.google.appengine.tools.development. > > > JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:349) > > at > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper. > > java:152) > > at org.mortbay.jetty.Server.handle(Server.java:326) > > at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection. > > java:542) > > at org.mortbay.jetty.HttpConnection$RequestHandler.content( > > HttpConnection.java:938) > > at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755) > > at > org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218) > > at > org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) > > at org.mortbay.io.nio.SelectChannelEndPoint.run( > > SelectChannelEndPoint.java:409) > > at org.mortbay.thread.QueuedThreadPool$PoolThread.run( > > QueuedThreadPool.java:582) > > Caused by: javax.jdo.JDOException: Error creating the MetaDataManager for > > API "JDO" : > > NestedThrowables: > > java.lang.reflect.InvocationTargetException > > at org.datanucleus.jdo.NucleusJDOHelper. > > getJDOExceptionForNucleusException(NucleusJDOHelper.java:419) > > at org.datanucleus.jdo.JDOPersistenceManager.jdoMakePersistent( > > JDOPersistenceManager.java:674) > > at org.datanucleus.jdo.JDOPersistenceManager.makePersistent( > > JDOPersistenceManager.java:694) > > at com.dblog.server.blog.Controller.newAction(Controller.java:75) > > ... 34 more > > Caused by: java.lang.reflect.InvocationTargetException > > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native > > Method) > > at sun.reflect.NativeConstructorAccessorImpl.newInstance( > > NativeConstructorAccessorImpl.java:39) > > at sun.reflect.DelegatingConstructorAccessorImpl.newInstance( > > DelegatingConstructorAccessorImpl.java:27) > > > > at > java.lang.reflect.Constructor.newInstance(Constructor.java:513) > > at com.google.appengine.tools.development.agent.runtime.Runtime. > > newInstance_(Runtime.java:112) > > at com.google.appengine.tools.development.agent.runtime.Runtime. > > newInstance(Runtime.java:120) > > at org.datanucleus.plugin.NonManagedPluginRegistry. > > createExecutableExtension(NonManagedPluginRegistry.j > > ava:572) > > at org.datanucleus.store.appengine.DatastorePluginRegistry. > > createExecutableExtension(DatastorePluginReg > > istry.java:124) > > at > org.datanucleus.plugin.PluginManager.createExecutableExtension( > > PluginManager.java:324) > > at > org.datanucleus.OMFContext.getMetaDataManager(OMFContext.java:469 > > ) > > at org.datanucleus.ObjectManagerImpl.getMetaDataManager( > > ObjectManagerImpl.java:407) > > at org.datanucleus.ObjectManagerImpl. > > hasPersistenceInformationForClass(ObjectManagerImpl.java:3974) > > at org.datanucleus.ObjectManagerImpl.assertClassPersistable( > > ObjectManagerImpl.java:3892) > > at org.datanucleus.ObjectManagerImpl.persistObjectInternal( > > ObjectManagerImpl.java:1240) > > at > org.datanucleus.ObjectManagerImpl.persistObject(ObjectManagerImpl > > .java:1175) > > at org.datanucleus.jdo.JDOPersistenceManager.jdoMakePersistent( > > JDOPersistenceManager.java:669) > > ... 36 more > > Caused by: java.lang.NullPointerException > > at > org.datanucleus.store.appengine.jdo.DatastoreJDOMetaDataManager. > > shouldBeInDefaultFetchGroup(Datastor > > eJDOMetaDataManager.java:167) > > at > org.datanucleus.store.appengine.jdo.DatastoreJDOMetaDataManager. > > shouldBeInDefaultFetchGroup(Datastor > > eJDOMetaDataManager.java:167) > > at > org.datanucleus.store.appengine.jdo.DatastoreJDOMetaDataManager. > > populateAbstractClassMetaData(Datast > > oreJDOMetaDataManager.java:153) > > at org.datanucleus.metadata.MetaDataManager.populateFileMetaData( > > MetaDataManager.java:2148) > > at > org.datanucleus.metadata.MetaDataManager.loadAnnotationsForClass( > > MetaDataManager.java:2289) > > at org.datanucleus.jdo.metadata.JDOMetaDataManager. > > getMetaDataForClassInternal(JDOMetaDataManager.java: > > 369) > > at org.datanucleus.jdo.metadata. > > JDOMetaDataManager$MetaDataRegisterClassListener.registerClass( > > JDOMetaDataManager.java:184) > > at javax.jdo.spi.JDOImplHelper.addRegisterClassListener( > > JDOImplHelper.java:462) > > at org.datanucleus.jdo.metadata.JDOMetaDataManager.<init>( > > JDOMetaDataManager.java:171) > > at > org.datanucleus.store.appengine.jdo.DatastoreJDOMetaDataManager.< > > init>(DatastoreJDOMetaDataManager.java:136) > > ... 52 more > > -- > You received this message because you are subscribed to the Google Groups > "Google App Engine for Java" group. > To post to this group, send email to > google-appengine-j...@googlegroups.com. > To unsubscribe from this group, send email to > google-appengine-java+unsubscr...@googlegroups.com<google-appengine-java%2bunsubscr...@googlegroups.com> > . > For more options, visit this group at > http://groups.google.com/group/google-appengine-java?hl=en. > > -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.