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.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to