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.

Reply via email to