I found where problem is - gae doesn't support interface types in lists . But the question wasn't about this... It was about how to identify cause from that thin error message.
On Mon, Jan 3, 2011 at 2:55 PM, kartik kudada <[email protected]>wrote: > Hi , > > Could you please share sample code . > > On Sun, Jan 2, 2011 at 2:10 PM, Didier Durand <[email protected]>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" <[email protected]> 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 >> [email protected]. >> To unsubscribe from this group, send email to >> [email protected]<google-appengine-java%[email protected]> >> . >> 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 > [email protected]. > To unsubscribe from this group, send email to > [email protected]<google-appengine-java%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/google-appengine-java?hl=en. > -- Pagarbiai, Tadas Šubonis -- 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 [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-appengine-java?hl=en.
