Tuesday, January 17, 2012

Issues making JDO work with MySQL

Hi,

I am trying to migrate a very simple JDO application on appengine
using google sql. I am having issues making Google SQL work with JDO.
When I tried with datanucleus-rdbms-1.1.5.jar & datanucleus-
rdbms-3.0.5.jar, but I get the error message:

Jan 17, 2012 2:35:20 PM org.datanucleus.store.rdbms.RDBMSManager
<init>
SEVERE: Failed initialising database.
java.lang.NoClassDefFoundError: java.net.Socket is a restricted class.
Please see the Google App Engine developer's guide for more details.
org.datanucleus.exceptions.NucleusDataStoreException:
java.lang.NoClassDefFoundError: java.net.Socket is a restricted class.
Please see the Google App Engine developer's guide for more details.
at org.datanucleus.store.rdbms.ConnectionFactoryImpl
$ManagedConnectionImpl.getConnection(ConnectionFactoryImpl.java:554)
at org.datanucleus.store.rdbms.RDBMSManager.<init>(RDBMSManager.java:
297)
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:
116)
at
com.google.appengine.tools.development.agent.runtime.Runtime.newInstance(Runtime.java:
124)
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:
168)
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)
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:
104)
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)
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 dao1.PMF.getPersistenceManagerFactory(PMF.java:35)
at dao1.BaseDAO.saveOrUpdate(BaseDAO.java:38)

or Bundle "org.datanucleus.store.rdbms" requires "org.datanucleus"
version "3.0.5" but the resolved bundle has version "3.0.5" which is
outside the expected range while using rdbms3.0.5.jar.

Wonder if someone in google can write clear instruction on how to make
JDO work with Google SQL.

Thanks,
Shweta

No comments:

Post a Comment