Hi ian,
I followed your suggestion to put the librarries in war/ WEF-INF/lib
since before I had it only referenced in the classpath but located
somewhere in the filesystem.
I then run my application with that set-up. Thank you for that. At
least im having a progress here.
However another error arises, this time I am sure it already reaches
to the mysql driver classes already.
Here is the error logs:
Caused by: javax.jdo.JDOFatalInternalException: Unexpected exception
caught.
NestedThrowables:
java.lang.reflect.InvocationTargetException
at
javax.jdo.JDOHelper.invokeGetPersistenceManagerFactoryOnImplementation
(JDOHelper.java:1186)
at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:
803)
at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:
1086)
at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:
914)
at com.ivanceras.server.PMF.<clinit>(PMF.java:8)
... 37 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.appengine.tools.development.agent.runtime.Runtime.invoke
(Runtime.java:100)
at javax.jdo.JDOHelper$16.run(JDOHelper.java:1956)
at java.security.AccessController.doPrivileged(Native Method)
at javax.jdo.JDOHelper.invoke(JDOHelper.java:1951)
at
javax.jdo.JDOHelper.invokeGetPersistenceManagerFactoryOnImplementation
(JDOHelper.java:1159)
... 41 more
Caused by: java.lang.ExceptionInInitializerError
at com.mysql.jdbc.NonRegisteringDriver.connect
(NonRegisteringDriver.java:284)
at
org.datanucleus.store.rdbms.datasource.DriverManagerDataSource.getConnection
(DriverManagerDataSource.java:142)
at
org.datanucleus.store.rdbms.datasource.DriverManagerDataSource.getConnection
(DriverManagerDataSource.java:118)
at org.datanucleus.store.rdbms.ConnectionFactoryImpl
$ManagedConnectionImpl.getConnection(ConnectionFactoryImpl.java:539)
at org.datanucleus.store.rdbms.RDBMSManager.<init>(RDBMSManager.java:
297)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown
Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown
Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
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.java:572)
at org.datanucleus.plugin.PluginManager.createExecutableExtension
(PluginManager.java:300)
at org.datanucleus.store.FederationManager.initialiseStoreManager
(FederationManager.java:108)
at org.datanucleus.store.FederationManager.<init>
(FederationManager.java:70)
at org.datanucleus.ObjectManagerFactoryImpl.initialiseStoreManager
(ObjectManagerFactoryImpl.java:153)
at
org.datanucleus.jdo.JDOPersistenceManagerFactory.freezeConfiguration
(JDOPersistenceManagerFactory.java:526)
at
org.datanucleus.store.appengine.jdo.DatastoreJDOPersistenceManagerFactory.getPersistenceManagerFactory
(DatastoreJDOPersistenceManagerFactory.java:127)
... 50 more
Caused by: java.security.AccessControlException: access denied
(java.lang.RuntimePermission modifyThreadGroup)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at com.google.appengine.tools.development.DevAppServerFactory
$CustomSecurityManager.checkPermission(DevAppServerFactory.java:151)
at com.google.appengine.tools.development.DevAppServerFactory
$CustomSecurityManager.checkAccess(DevAppServerFactory.java:176)
at java.lang.ThreadGroup.checkAccess(Unknown Source)
at java.lang.Thread.init(Unknown Source)
at java.lang.Thread.<init>(Unknown Source)
at java.util.TimerThread.<init>(Unknown Source)
at java.util.Timer.<init>(Unknown Source)
at java.util.Timer.<init>(Unknown Source)
at com.mysql.jdbc.ConnectionImpl.<clinit>(ConnectionImpl.java:258)
... 68 more
I also struggled testing it against the other database (Postgresql)
and an error of java.net.socket exception is spat. Due to maybe it is
not allowed in app engine white list.
Do you modify the google's appengine library to bypass this exception?
Or do we need to reorder the library? I am sure with the database urls
and credentials.
Here is the Postgresql Error log:
Caused by: javax.jdo.JDOFatalInternalException: Unexpected exception
caught.
NestedThrowables:
java.lang.reflect.InvocationTargetException
at
javax.jdo.JDOHelper.invokeGetPersistenceManagerFactoryOnImplementation
(JDOHelper.java:1186)
at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:
803)
at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:
1086)
at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:
914)
at com.ivanceras.server.PMF.<clinit>(PMF.java:10)
... 37 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.appengine.tools.development.agent.runtime.Runtime.invoke
(Runtime.java:100)
at javax.jdo.JDOHelper$16.run(JDOHelper.java:1956)
at java.security.AccessController.doPrivileged(Native Method)
at javax.jdo.JDOHelper.invoke(JDOHelper.java:1951)
at
javax.jdo.JDOHelper.invokeGetPersistenceManagerFactoryOnImplementation
(JDOHelper.java:1159)
... 41 more
Caused by: java.lang.NoClassDefFoundError: java.net.Socket is a
restricted class. Please see the Google App Engine developer's guide
for more details.
at com.google.appengine.tools.development.agent.runtime.Runtime.reject
(Runtime.java:51)
at org.postgresql.core.PGStream.<init>(PGStream.java:62)
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl
(ConnectionFactoryImpl.java:77)
at org.postgresql.core.ConnectionFactory.openConnection
(ConnectionFactory.java:66)
at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>
(AbstractJdbc2Connection.java:124)
at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>
(AbstractJdbc3Connection.java:30)
at org.postgresql.jdbc4.AbstractJdbc4Connection.<init>
(AbstractJdbc4Connection.java:29)
at org.postgresql.jdbc4.Jdbc4Connection.<init>(Jdbc4Connection.java:
24)
at org.postgresql.Driver.makeConnection(Driver.java:386)
at org.postgresql.Driver.connect(Driver.java:260)
at
org.datanucleus.store.rdbms.datasource.DriverManagerDataSource.getConnection
(DriverManagerDataSource.java:142)
at
org.datanucleus.store.rdbms.datasource.DriverManagerDataSource.getConnection
(DriverManagerDataSource.java:118)
at org.datanucleus.store.rdbms.ConnectionFactoryImpl
$ManagedConnectionImpl.getConnection(ConnectionFactoryImpl.java:539)
at org.datanucleus.store.rdbms.RDBMSManager.<init>(RDBMSManager.java:
297)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown
Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown
Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
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.java:572)
at org.datanucleus.plugin.PluginManager.createExecutableExtension
(PluginManager.java:300)
at org.datanucleus.store.FederationManager.initialiseStoreManager
(FederationManager.java:108)
at org.datanucleus.store.FederationManager.<init>
(FederationManager.java:70)
at org.datanucleus.ObjectManagerFactoryImpl.initialiseStoreManager
(ObjectManagerFactoryImpl.java:153)
at
org.datanucleus.jdo.JDOPersistenceManagerFactory.freezeConfiguration
(JDOPersistenceManagerFactory.java:526)
at
org.datanucleus.store.appengine.jdo.DatastoreJDOPersistenceManagerFactory.getPersistenceManagerFactory
(DatastoreJDOPersistenceManagerFactory.java:127)
... 50 more
Best Regards,
ivanceras
On Jan 12, 6:15 pm, Ian Marshall <[email protected]> wrote:
> Exception
> ---------
> I searched for "NucleusUserException: No available StoreManager found
> for the datastore URL key" on Google. The first search result finishes
> with the entry:
>
> 'Problem Solved!
>
> In eclipse, package explorer -> [project]->war->web-inf->lib
>
> click right mouse button and import all relevant library.
>
> It will work!'
>
> I haven't used Eclipse for years, so this might work(?). I think the
> fundamental problem may be with your ".jar" files and the fact that
> your IDE cannot find them at run-time. For NetBeans I have added the
> following sets of files to my app's set of libraries:
>
> datanucleus-rdbms-1.1.5.jar
> mysql-connector-java-5.1.10-bin.jar
> [Many other datanucleus-*.jar files incl. datanucleus-
> appengine-1.0.4.1.final.jar]
> jdo2-api-2.3-eb.jar
> [others]
>
> Otherwise, I cannot think of anything.
>
> I guess there will be no need to create a table?
> ------------------------------------------------
> With my settings, all the (enhanced!) tables are constructed for me at
> first-connection-time if they do not exist already.
>
> Cheers,
>
> Ian
--
You received this message because you are subscribed to the Google Groups
"Google App Engine" 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?hl=en.