Issue Details (XML | Word | Printable)

Key: NUCACCESS-99
Type: Task Task
Status: Closed Closed
Resolution: Incomplete
Priority: Testcase Required Testcase Required
Assignee: Unassigned
Reporter: Vivek Mehrotra
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
DataNucleus AccessPlatform

Using Datanucleus JPA in Eclipse Virgo OSGi environment

Created: 25/Apr/12 04:17 PM   Updated: 19/May/12 04:21 PM   Resolved: 19/May/12 01:37 PM
Component/s: Software
Affects Version/s: 3.0.0.m1, 3.0.0.release, 3.0.7, 3.0.9, 3.1.0.m1
Fix Version/s: None

Environment: Windows 7 64 bit x86, java version "1.7.0_02", Eclipse Virgo 3.0.2.RELEASE

Datastore: MySQL
Severity: Development


 Description  « Hide
We are writing a sample application (consumer) to use DataNucleus with JPA implementation on plain OSGi (not the Eclipse plugin way) with MySQL. We have created our application data model classes based on the example given on DataNucleus website and it works fine in our environment without OSGi.

The application we created has three model classes as 'Car', 'Toy' and 'ToyShop'. 'Car' and 'Toy' have one-to-many cardinality. This is how my database schema is, and it is defined in orm.xml. I have a persistence.xml file which defines my persistence-unit, persistence provider and databases specific properties say connection URL, user/password etc. I also have MANIFEST.MF to handle the various run time dependencies.

Two points:

1. I build this application and build is successful. I enhance the model classes and enhancement is successful. I created the database schema (tables etc) and that is successful. Now when I deploy this on Equinox (Eclipse Virgo) container, it throws up the following error:

Caused by: javax.persistence.PersistenceException: No persistence providers available for "YetAnotherPersistenceUnit" after trying the following discovered implementations: NONE
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:182)
          at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:72)

I have my persistence.xml well in my CLASSPATH, no issues.
I have my datanucleus core, api-jpa and rdbms bundles properly loaded on equinox container, no issues.
I have apache Geronimo bundles well in place (in CLASSPATH) but, this error is due to the fact that my consumer bundle is not able to get the persistence provider.

The reason could be, that the persistence provider on the OSGi is expected to be as service, at least Geronimo is expecting it to be exposed as an OSGi service, because it tries to get the persistence provider as:

List<PersistenceProvider> providers = resolver.getPersistenceProviders()
List<Object> serviceProviders = ProviderLocator.getServices(PersistenceProvider.class.getName(), this.getClass(), cl);

The 'provider' comes out as 'null' and throws the above error.

Based on my understanding, it tries to locate the provider service (org.apache.geronimo.osgi.locator.ProviderLocator, I have this as well) and does not get the persistence provider exposed from datanucleus and hence it returns NONE.

At the same time, when I see on virgo admin-console to look at what are the published services from the datanucles bundles, I do not see any services published by datanucleus.api.jpa bundle, is this expected behavior?


2. Then I try to use the OSGi class loading mechanism to explicitly load the "org.datanucleus.api.jpa.PersistenceProviderImpl" class in somewhat similar manner as it is talked on http://www.datanucleus.org/servlet/wiki/display/USERS/HOWTO+Use+Datanucleus+with+OSGi+and+Spring+DM

Sample code snipped is:

DataNucleusOsgiLocalContainerEntityManagerFactoryBean dataNucleusEMFB =
new DataNucleusOsgiLocalContainerEntityManagerFactoryBean();

EntityManagerFactory emf = dataNucleusEMFB.createNativeEntityManagerFactory();

EntityManager em = emf.createEntityManager();
EntityTransaction tx = em.getTransaction();
...
...


And a bean definition with following properties:

              <property name="persistenceXmlLocation"
                     value="classpath:META-INF/persistence.xml" />
              <property name="datanucleus.plugin.pluginRegistryClassName"
                     value="org.datanucleus.plugin.OSGiPluginRegistry"/>

With this approach I get the following error. I have org.datanucleus.enhancer in my CLASSPATH.

Caused by: org.eclipse.virgo.kernel.osgi.framework.ExtendedClassNotFoundException: org.datanucleus.enhancer.DataNucleusClassFileTransformer in KernelBundleClassLoader: [bundle=org.datanucleus.api.jpa_3.0.6]
        at org.eclipse.virgo.kernel.userregion.internal.equinox.KernelBundleClassLoader.loadClass(KernelBundleClassLoader.java:138)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:186)
        at org.datanucleus.api.jpa.JPAClassTransformer.<init>(JPAClassTransformer.java:41)
        ... 29 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.datanucleus.enhancer.DataNucleusClassFileTransformer
        at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:513)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
        at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
        at org.eclipse.virgo.kernel.userregion.internal.equinox.KernelBundleClassLoader.loadClass(KernelBundleClassLoader.java:134)
        ... 33 common frames omitted


What is it I am missing here, can you please help?

Also, ideally, I would love to have datanucleus publish the provider service which I can consume (point 1) as I am not sure how class loading may work in case of dOSGi environment which we plan to use in future.

Note: I have tried above consumer application with datanucleus 3.0.0-m1, 3.0.0.release, 3.0.7, 3.0.9 and 3.1.0-m2.

Thanks and best regards,

Vivek Mehrotra
GE Global Research

Sort Order: Ascending order - Click to sort in descending order
Andy Jefferson added a comment - 25/Apr/12 05:30 PM
A testcase is required to demonstrate anything.

IIRC JPA is accessed under OSGi using something called "OSGi BluePrint", and DataNucleus provides OSGI-INF/blueprint/blueprint.xml in the datanucleus-api-jpa.jar

The various locations where "persistence.xml" can be found need defining in the MANIFEST.MF if you follow these links
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=%2Fcom.ibm.websphere.osgifep.multiplatform.doc%2Ftopics%2Fca_jpa.html
http://aries.apache.org/modules/jpaproject.html

Vivek Mehrotra added a comment - 25/Apr/12 05:51 PM
The test case template mentioned at http://www.datanucleus.org/project/problem_jpa_testcase.html requires that test should have Main.java and should run on JDK, however, in our case, it does not have Main.java and runs on OSGi. In this case we may not be able to follow the exact template. Will it be fine if we zip and send the sample consumer application as is the way we worte?

To your point of defining the various loacations of persistence.xml in MANIFEST.MF, we have already tried that too. The current MANIFEST.MF also has "Meta-Persistence: META-INF/persistence.xml".

-Vivek

Andy Jefferson added a comment - 25/Apr/12 07:09 PM
Any test should obviously be minimal (i.e not someone's application, no dependencies on things like Spring). Main.java is a requirement for JRE testcases. For OSGi I'd expect an Activator, persistable class, and a (ordered) list of bundles that are loaded into the OSGi container.

Vivek Mehrotra added a comment - 26/Apr/12 01:36 PM
Andy, one more point, when DataNucleus provides OSGI-INF/blueprint/blueprint.xml in the datanucleus-api-jpa.jar, then I should see "persistenceProvider" as published service on the api.jpa bundles which is loaded successfully. I am using virgo 3.0.2.RELEASE, do you know if it supports OSGi 4.2 specs which has blueprint container introduced?

Andy Jefferson added a comment - 26/Apr/12 01:46 PM

Vivek Mehrotra added a comment - 26/Apr/12 03:33 PM
I decided to use karaf instead as I found more clearer bluepring container support on karaf than virgo 3.0.2. I am using karaf 2.2.6. After going past multiple dependencies errors, which I resolved successfully, I see following:

karaf@root> ERROR: Bundle org.apache.aries.jpa.container [83] EventDispatcher: Error during dispatch. (java.lang.RuntimeException: org.datanucleus.enhancer.DataNucleusClassFileTransformer not found by org.datanucleus.api.jpa [86])
java.lang.RuntimeException: org.datanucleus.enhancer.DataNucleusClassFileTransformer not found by org.datanucleus.api.jpa [86]
        at org.datanucleus.api.jpa.JPAClassTransformer.<init>(JPAClassTransformer.java:47)
        at org.datanucleus.api.jpa.JPAEntityManagerFactory.<init>(JPAEntityManagerFactory.java:279)
        at org.datanucleus.api.jpa.PersistenceProviderImpl.createContainerEntityManagerFactory(PersistenceProviderImpl.java:61)
        at org.apache.aries.jpa.container.impl.EntityManagerFactoryManager.createEntityManagerFactories(EntityManagerFactoryManager.java:263)
        at org.apache.aries.jpa.container.impl.EntityManagerFactoryManager.bundleStateChange(EntityManagerFactoryManager.java:153)
        at org.apache.aries.jpa.container.impl.PersistenceBundleManager.modifiedBundle(PersistenceBundleManager.java:283)
        at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:453)
        at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:237)
        at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:413)
        at org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:807)
        at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:729)
        at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:610)
        at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:3761)
        at org.apache.felix.framework.Felix.access$600(Felix.java:80)
        at org.apache.felix.framework.Felix$FelixResolver.fireResolvedEvents(Felix.java:4299)
        at org.apache.felix.framework.Felix$FelixResolver.resolve(Felix.java:4065)
        at org.apache.felix.framework.Felix.resolveBundle(Felix.java:3439)
        at org.apache.felix.framework.Felix.startBundle(Felix.java:1734)
        at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:918)
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1232)
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1206)
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:491)
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:286)
Caused by: java.lang.ClassNotFoundException: org.datanucleus.enhancer.DataNucleusClassFileTransformer not found by org.datanucleus.api.jpa [86]
        at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:787)
        at org.apache.felix.framework.ModuleImpl.access$400(ModuleImpl.java:71)
        at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1768)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:186)
        at org.datanucleus.api.jpa.JPAClassTransformer.<init>(JPAClassTransformer.java:41)
        ... 22 more

karaf@root> list
START LEVEL 100 , List Threshold: 50
   ID State Blueprint Level Name
[ 85] [Active ] [ ] [ 80] DataNucleus Core (3.0.0.m1)
[ 86] [Active ] [Created ] [ 80] DataNucleus JPA API (3.0.0.m1)
[ 87] [Active ] [ ] [ 80] DataNucleus Enhancer (3.0.0.m1)
[ 88] [Active ] [ ] [ 80] DataNucleus RDBMS (3.0.0.m1)
[ 89] [Active ] [ ] [ 80] Java Data Objects (3.0.0)
[ 91] [Active ] [ ] [ 80] MySQL AB's JDBC Driver for MySQL (5.1.6)
[ 98] [Active ] [ ] [ 80] DSP DAS Consumer Application (3.0)

I have enhancer in the classpath and it is active, can you help me as to what could cause this exception?

Thanks, Vivek

Andy Jefferson added a comment - 26/Apr/12 06:26 PM
You can easily turn off usage of JPA ClassTransformer using "datanucleus.jpa.addClassTransformer" persistence property set to false.

Vivek Mehrotra added a comment - 26/Apr/12 07:08 PM
Andy, Thanks.

I figured out that if I run it on Karaf, api-jpa exposes persistence provider service, may be because karaf is more neater implementation of blueprint container than virgo 3.0.2 (but not sure at this moment).

Now my consumer bundle gets active on karaf with rest of the datanucleus bundles, but, it does not do anything. I was trying to enable the datanucleus log on karaf, but wasn's successfull in doing so by the methods mentioned on the datanucleus web site. I tried using log4j and jdk logger but could not get that to work. Do you have some pointers to guide me on how to enable datanucleus logging on karaf (or osgi environment)?

Thanks

Vivek Mehrotra added a comment - 27/Apr/12 06:29 PM
Andy, Further to this, when I try on Karaf I can see persistence provider service on karaf which my consumer now is able to find out. Untill I hit a few issues in MANIFEST.MF in org.datanucleus which after fixing it it moved further. The issues were as follows:

Caused by: java.lang.NoClassDefFoundError: javax/xml/parsers/ParserConfigurationException
at org.datanucleus.plugin.NonManagedPluginRegistry.registerExtensions(NonManagedPluginRegistry.java:207)

Caused by: java.lang.NoClassDefFoundError: org/w3c/dom/Element
at org.datanucleus.plugin.NonManagedPluginRegistry.registerExtensions(NonManagedPluginRegistry.java:207)

After fixing the above, I hit following on karaf:

Caused by: javax.persistence.PersistenceException: Explicit persistence provider error(s) occurred for "YetAnotherPersistenceUnit" after trying the following discovered implementations: org.datanucleus.api.jpa.PersistenceProviderImpl from provider: org.datanucleus.api.jpa.PersistenceProviderImpl
at javax.persistence.Persistence.createPersistenceException(Persistence.java:242)

Caused by: org.datanucleus.exceptions.NucleusUserException: Persistence process has been specified to use a ClassLoaderResolver of name "" yet this has not been found by the DataNucleus plugin mechanism. Please check your CLASSPATH and plugin specification.

Trying to figure out why it is not able to find ClassLoaderResolver. Any hint would be helpful.

On the Datanucleus Logging on Karaf. I used log4j method and created a separate appender in org.ops4j.pax.logging.cfg

I can see my consumer bundle exceptions but DataNucleus wouldn't log and this is because of following I get on Karaf:

2012-04-27 19:49:54,584 | DEBUG | rint Extender: 3 | ClassLoading | org.datanucleus.util.Log4JLogger 58 | 106 - org.datanucleus - 3.0.0.release | Class "org.eclipse.core.runtime.RegistryFactory" was not found in the CLASSPATH [Class resolver called from org.datanucleus.plugin.PluginRegistryFactory.newInstance (line=91)]
2012-04-27 19:49:54,586 | WARN | rint Extender: 3 | Plugin | org.datanucleus.util.Log4JLogger 96 | 106 - org.datanucleus - 3.0.0.release | Could not find MANIFEST.MF file for plugin file "bundle://106.0:1/plugin.xml" so ignoring it

DataNucleus on karaf is trying to look for eclipse plugin registry and failing as above.

Any thoughts?

-Vivek

Vivek Mehrotra added a comment - 29/Apr/12 06:02 PM
Andy, with no help, I progressed little further and now got stuck at following trace:

I am guessing what is happening here, but not sure, yo can comment better. My guess is:

Currently there is no property key with which I can specify orm.xml path the same was as I can do it for persistence.xml using "datanucleus.persistenceXmlFilename". I tried ising "datanucleus.Mapping" but no success.

Since I can not specify orm.xml other than what I can do in persistence.xml using <mapping-file> tag. Every time org.datanucleus refers to mapping file it refers to its own classpath and obviously do not get it. As a result I get the error below.

Am I missing something?




2012-04-29 20:30:12,378 | DEBUG | rint Extender: 3 | MetaData | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | MetaData Management : Loading Metadata for persistence-unit "YetAnotherPersistenceUnit" ...
2012-04-29 20:30:12,379 | DEBUG | rint Extender: 3 | MetaData | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Not found any metadata mapping files for resource name i:/orm.xml in CLASSPATH
2012-04-29 20:30:12,380 | DEBUG | rint Extender: 3 | MetaData | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Not found any metadata mapping files for resource name META-INF/orm.xml in CLASSPATH
2012-04-29 20:30:12,380 | DEBUG | rint Extender: 3 | MetaData | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | MetaData Management : Load of Metadata complete
2012-04-29 20:30:12,381 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Creating StoreManager for datastore
2012-04-29 20:30:12,716 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.Boolean (jdbc-type=BIT, sql-type=BIT, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.BitRDBMSMapping, default=true)
2012-04-29 20:30:12,717 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.Boolean (jdbc-type=CHAR, sql-type=CHAR, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.CharRDBMSMapping, default=false)
2012-04-29 20:30:12,718 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.Boolean (jdbc-type=BOOLEAN, sql-type=BOOLEAN, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.BooleanRDBMSMapping, default=false)
2012-04-29 20:30:12,719 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.Boolean (jdbc-type=TINYINT, sql-type=TINYINT, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.TinyIntRDBMSMapping, default=false)
2012-04-29 20:30:12,720 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.Boolean (jdbc-type=SMALLINT, sql-type=SMALLINT, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.SmallIntRDBMSMapping, default=false)
2012-04-29 20:30:12,721 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.Byte (jdbc-type=TINYINT, sql-type=TINYINT, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.TinyIntRDBMSMapping, default=true)
2012-04-29 20:30:12,721 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.Byte (jdbc-type=SMALLINT, sql-type=SMALLINT, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.SmallIntRDBMSMapping, default=false)
2012-04-29 20:30:12,722 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.Character (jdbc-type=CHAR, sql-type=CHAR, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.CharRDBMSMapping, default=true)
2012-04-29 20:30:12,723 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.Character (jdbc-type=INTEGER, sql-type=INTEGER, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.IntegerRDBMSMapping, default=false)
2012-04-29 20:30:12,723 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.Double (jdbc-type=DOUBLE, sql-type=DOUBLE, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.DoubleRDBMSMapping, default=true)
2012-04-29 20:30:12,724 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.Double (jdbc-type=DECIMAL, sql-type=DECIMAL, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.DecimalRDBMSMapping, default=false)
2012-04-29 20:30:12,725 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.Float (jdbc-type=FLOAT, sql-type=FLOAT, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.FloatRDBMSMapping, default=true)
2012-04-29 20:30:12,725 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.Float (jdbc-type=DOUBLE, sql-type=DOUBLE, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.DoubleRDBMSMapping, default=false)
2012-04-29 20:30:12,725 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.Float (jdbc-type=REAL, sql-type=REAL, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.RealRDBMSMapping, default=false)
2012-04-29 20:30:12,726 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.Float (jdbc-type=DECIMAL, sql-type=DECIMAL, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.DecimalRDBMSMapping, default=false)
2012-04-29 20:30:12,726 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.Integer (jdbc-type=INTEGER, sql-type=INTEGER, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.IntegerRDBMSMapping, default=true)
2012-04-29 20:30:12,727 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.Integer (jdbc-type=BIGINT, sql-type=BIGINT, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.BigIntRDBMSMapping, default=false)
2012-04-29 20:30:12,727 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.Integer (jdbc-type=NUMERIC, sql-type=NUMERIC, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.NumericRDBMSMapping, default=false)
2012-04-29 20:30:12,727 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.Integer (jdbc-type=TINYINT, sql-type=TINYINT, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.TinyIntRDBMSMapping, default=false)
2012-04-29 20:30:12,727 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.Integer (jdbc-type=SMALLINT, sql-type=SMALLINT, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.SmallIntRDBMSMapping, default=false)
2012-04-29 20:30:12,728 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.Long (jdbc-type=BIGINT, sql-type=BIGINT, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.BigIntRDBMSMapping, default=true)
2012-04-29 20:30:12,728 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.Long (jdbc-type=INTEGER, sql-type=INT, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.IntegerRDBMSMapping, default=false)
2012-04-29 20:30:12,728 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.Long (jdbc-type=NUMERIC, sql-type=NUMERIC, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.NumericRDBMSMapping, default=false)
2012-04-29 20:30:12,729 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.Long (jdbc-type=TINYINT, sql-type=TINYINT, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.TinyIntRDBMSMapping, default=false)
2012-04-29 20:30:12,729 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.Long (jdbc-type=SMALLINT, sql-type=SMALLINT, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.SmallIntRDBMSMapping, default=false)
2012-04-29 20:30:12,729 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.Short (jdbc-type=SMALLINT, sql-type=SMALLINT, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.SmallIntRDBMSMapping, default=true)
2012-04-29 20:30:12,729 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.Short (jdbc-type=INTEGER, sql-type=INTEGER, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.IntegerRDBMSMapping, default=false)
2012-04-29 20:30:12,730 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.Short (jdbc-type=TINYINT, sql-type=TINYINT, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.TinyIntRDBMSMapping, default=false)
2012-04-29 20:30:12,730 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.String (jdbc-type=VARCHAR, sql-type=VARCHAR, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.VarCharRDBMSMapping, default=true)
2012-04-29 20:30:12,730 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.String (jdbc-type=CHAR, sql-type=CHAR, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.CharRDBMSMapping, default=false)
2012-04-29 20:30:12,731 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.String (jdbc-type=LONGVARCHAR, sql-type=LONGVARCHAR, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.LongVarcharRDBMSMapping, default=false)
2012-04-29 20:30:12,732 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.String (jdbc-type=CLOB, sql-type=CLOB, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.ClobRDBMSMapping, default=false)
2012-04-29 20:30:12,733 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.String (jdbc-type=BLOB, sql-type=BLOB, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.BlobRDBMSMapping, default=false)
2012-04-29 20:30:12,735 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.String (jdbc-type=LONGVARCHAR, sql-type=LONGTEXT, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.LongVarcharRDBMSMapping, default=false)
2012-04-29 20:30:12,735 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.String (jdbc-type=LONGVARCHAR, sql-type=MEDIUMTEXT, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.LongVarcharRDBMSMapping, default=false)
2012-04-29 20:30:12,736 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.String (jdbc-type=LONGVARCHAR, sql-type=TEXT, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.LongVarcharRDBMSMapping, default=false)
2012-04-29 20:30:12,736 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.String (jdbc-type=BLOB, sql-type=LONGBLOB, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.BlobRDBMSMapping, default=false)
2012-04-29 20:30:12,736 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.String (jdbc-type=BLOB, sql-type=MEDIUMBLOB, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.BlobRDBMSMapping, default=false)
2012-04-29 20:30:12,737 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.String (jdbc-type=NVARCHAR, sql-type=NVARCHAR, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.NVarcharRDBMSMapping, default=false)
2012-04-29 20:30:12,738 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.lang.String (jdbc-type=NCHAR, sql-type=NCHAR, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.NCharRDBMSMapping, default=false)
2012-04-29 20:30:12,738 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.math.BigDecimal (jdbc-type=DECIMAL, sql-type=DECIMAL, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.DecimalRDBMSMapping, default=true)
2012-04-29 20:30:12,738 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.math.BigDecimal (jdbc-type=NUMERIC, sql-type=NUMERIC, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.NumericRDBMSMapping, default=false)
2012-04-29 20:30:12,739 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.math.BigInteger (jdbc-type=NUMERIC, sql-type=NUMERIC, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.NumericRDBMSMapping, default=true)
2012-04-29 20:30:12,740 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.sql.Date (jdbc-type=DATE, sql-type=DATE, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.DateRDBMSMapping, default=true)
2012-04-29 20:30:12,740 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.sql.Date (jdbc-type=TIMESTAMP, sql-type=TIMESTAMP, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.TimestampRDBMSMapping, default=false)
2012-04-29 20:30:12,741 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.sql.Date (jdbc-type=CHAR, sql-type=CHAR, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.CharRDBMSMapping, default=false)
2012-04-29 20:30:12,741 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.sql.Date (jdbc-type=VARCHAR, sql-type=VARCHAR, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.VarCharRDBMSMapping, default=false)
2012-04-29 20:30:12,742 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.sql.Date (jdbc-type=BIGINT, sql-type=BIGINT, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.BigIntRDBMSMapping, default=false)
2012-04-29 20:30:12,742 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.sql.Time (jdbc-type=TIME, sql-type=TIME, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.TimeRDBMSMapping, default=true)
2012-04-29 20:30:12,743 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.sql.Time (jdbc-type=TIMESTAMP, sql-type=TIMESTAMP, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.TimestampRDBMSMapping, default=false)
2012-04-29 20:30:12,743 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.sql.Time (jdbc-type=CHAR, sql-type=CHAR, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.CharRDBMSMapping, default=false)
2012-04-29 20:30:12,744 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.sql.Time (jdbc-type=VARCHAR, sql-type=VARCHAR, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.VarCharRDBMSMapping, default=false)
2012-04-29 20:30:12,744 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.sql.Time (jdbc-type=BIGINT, sql-type=BIGINT, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.BigIntRDBMSMapping, default=false)
2012-04-29 20:30:12,744 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.sql.Timestamp (jdbc-type=TIMESTAMP, sql-type=TIMESTAMP, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.TimestampRDBMSMapping, default=true)
2012-04-29 20:30:12,745 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.sql.Timestamp (jdbc-type=CHAR, sql-type=CHAR, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.CharRDBMSMapping, default=false)
2012-04-29 20:30:12,745 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.sql.Timestamp (jdbc-type=VARCHAR, sql-type=VARCHAR, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.VarCharRDBMSMapping, default=false)
2012-04-29 20:30:12,746 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.util.Date (jdbc-type=TIMESTAMP, sql-type=TIMESTAMP, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.TimestampRDBMSMapping, default=true)
2012-04-29 20:30:12,746 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.util.Date (jdbc-type=DATE, sql-type=DATE, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.DateRDBMSMapping, default=false)
2012-04-29 20:30:12,746 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.util.Date (jdbc-type=CHAR, sql-type=CHAR, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.CharRDBMSMapping, default=false)
2012-04-29 20:30:12,747 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.util.Date (jdbc-type=VARCHAR, sql-type=VARCHAR, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.VarCharRDBMSMapping, default=false)
2012-04-29 20:30:12,747 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.util.Date (jdbc-type=BIGINT, sql-type=BIGINT, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.BigIntRDBMSMapping, default=false)
2012-04-29 20:30:12,748 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.io.Serializable (jdbc-type=LONGVARBINARY, sql-type=LONGVARBINARY, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.LongVarBinaryRDBMSMapping, default=true)
2012-04-29 20:30:12,748 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.io.Serializable (jdbc-type=BLOB, sql-type=BLOB, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.BlobRDBMSMapping, default=false)
2012-04-29 20:30:12,749 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type java.io.Serializable (jdbc-type=VARBINARY, sql-type=VARBINARY, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.VarBinaryRDBMSMapping, default=false)
2012-04-29 20:30:12,749 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type org.datanucleus.identity.OID (jdbc-type=BIGINT, sql-type=BIGINT, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.BigIntRDBMSMapping, default=true)
2012-04-29 20:30:12,750 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type org.datanucleus.identity.OID (jdbc-type=INTEGER, sql-type=INTEGER, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.IntegerRDBMSMapping, default=false)
2012-04-29 20:30:12,750 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type org.datanucleus.identity.OID (jdbc-type=NUMERIC, sql-type=NUMERIC, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.NumericRDBMSMapping, default=false)
2012-04-29 20:30:12,751 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type org.datanucleus.identity.OID (jdbc-type=CHAR, sql-type=CHAR, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.CharRDBMSMapping, default=false)
2012-04-29 20:30:12,751 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Adding RDBMS support for Java type org.datanucleus.identity.OID (jdbc-type=VARCHAR, sql-type=VARCHAR, datastore-mapping-type=org.datanucleus.store.rdbms.mapping.VarCharRDBMSMapping, default=false)
2012-04-29 20:30:12,761 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Removing RDBMS support for Java type java.lang.Float (jdbc-type=REAL, sql-type=REAL)
2012-04-29 20:30:12,761 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Removing RDBMS support for Java type java.lang.Boolean (jdbc-type=BOOLEAN, sql-type=BOOLEAN)
2012-04-29 20:30:12,762 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Removing RDBMS support for Java type java.lang.String (jdbc-type=NCHAR, sql-type=NCHAR)
2012-04-29 20:30:12,762 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Removing RDBMS support for Java type java.lang.String (jdbc-type=NVARCHAR, sql-type=NVARCHAR)
2012-04-29 20:30:12,776 | DEBUG | rint Extender: 3 | Schema | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Column "`DELETEME1335711612771`.`UNUSED`" added to internal representation of table.
2012-04-29 20:30:12,779 | DEBUG | rint Extender: 3 | Schema | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Creating table `DELETEME1335711612771`
2012-04-29 20:30:12,782 | DEBUG | rint Extender: 3 | Schema | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | CREATE TABLE `DELETEME1335711612771`
(
    `UNUSED` INTEGER NOT NULL
) ENGINE=INNODB
2012-04-29 20:30:12,927 | DEBUG | rint Extender: 3 | Schema | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Execution Time = 144 ms
2012-04-29 20:30:12,933 | DEBUG | rint Extender: 3 | Schema | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Schema Name could not be determined for this datastore
2012-04-29 20:30:12,933 | DEBUG | rint Extender: 3 | Schema | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Dropping table `DELETEME1335711612771`
2012-04-29 20:30:12,934 | DEBUG | rint Extender: 3 | Schema | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | DROP TABLE `DELETEME1335711612771`
2012-04-29 20:30:12,960 | DEBUG | rint Extender: 3 | Schema | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Execution Time = 26 ms
2012-04-29 20:30:12,961 | DEBUG | rint Extender: 3 | Schema | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Initialising Catalog "dspTestDb", Schema "" using "None" auto-start option
2012-04-29 20:30:12,961 | DEBUG | rint Extender: 3 | Schema | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Catalog "dspTestDb", Schema "" initialised - managing 0 classes
2012-04-29 20:30:12,961 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | ======================= Datastore =========================
2012-04-29 20:30:12,961 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | StoreManager : "rdbms" (org.datanucleus.store.rdbms.RDBMSStoreManager)
2012-04-29 20:30:12,962 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | AutoStart : mechanism=None, mode=Quiet
2012-04-29 20:30:12,962 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Datastore : read-write
2012-04-29 20:30:12,962 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Schema Control : AutoCreate(Tables,Columns,Constraints), Validate(None)
2012-04-29 20:30:12,962 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Query Languages : [JDOQL, JPQL, SQL, STOREDPROC]
2012-04-29 20:30:12,962 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Queries : Timeout=0
2012-04-29 20:30:12,963 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | ===========================================================
2012-04-29 20:30:12,963 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Datastore Adapter : org.datanucleus.store.rdbms.adapter.MySQLAdapter
2012-04-29 20:30:12,963 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Datastore : name="MySQL" version="5.5.22"
2012-04-29 20:30:12,963 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Datastore Driver : name="MySQL-AB JDBC Driver" version="mysql-connector-java-5.1.6 ( Revision: ${svn.Revision} )"
2012-04-29 20:30:12,963 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Transactional Connections : Pooling = dbcp-builtin
2012-04-29 20:30:12,964 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Non-Transactional Connections : Pooling = dbcp-builtin
2012-04-29 20:30:12,965 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Datastore Identifiers : factory="jpa" case="UPPERCASE" catalog=dspTestDb
2012-04-29 20:30:12,965 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Supported Identifier Cases : lowercase "lowercase" "UPPERCASE"
2012-04-29 20:30:12,966 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Supported Identifier Lengths (max) : Table=64 Column=64 Constraint=64 Index=64 Delimiter=`
2012-04-29 20:30:12,966 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Support for Identifiers in DDL : catalog=true schema=false
2012-04-29 20:30:12,967 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Datastore : checkTableViewExistence, rdbmsConstraintCreateMode=DataNucleus, initialiseColumnInfo=ALL
2012-04-29 20:30:12,967 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Support Statement Batching : yes (max-batch-size=50)
2012-04-29 20:30:12,968 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Queries : Results direction=forward, type=forward-only, concurrency=read-only
2012-04-29 20:30:12,969 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Java-Types : string-default-length=255
2012-04-29 20:30:12,969 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | JDBC-Types : BLOB, CLOB, TIMESTAMP, TIME, DATE, VARCHAR, DECIMAL, NUMERIC, CHAR, BINARY, LONGVARCHAR, FLOAT, LONGVARBINARY, SMALLINT, VARBINARY, INTEGER, TINYINT, BIGINT, DOUBLE, BIT
2012-04-29 20:30:12,970 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | ===========================================================
2012-04-29 20:30:12,973 | DEBUG | rint Extender: 3 | Datastore | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | StoreManager now created
2012-04-29 20:30:12,973 | DEBUG | rint Extender: 3 | Persistence | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | ================= Persistence Configuration ===============
2012-04-29 20:30:12,974 | DEBUG | rint Extender: 3 | Persistence | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | DataNucleus Persistence Factory - Vendor: "DataNucleus" Version: "3.0.10"
2012-04-29 20:30:12,974 | DEBUG | rint Extender: 3 | Persistence | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | DataNucleus Persistence Factory initialised for datastore URL="jdbc:mysql://localhost:3306/dspTestDb" driver="com.mysql.jdbc.Driver" userName="foo"
2012-04-29 20:30:12,975 | DEBUG | rint Extender: 3 | Persistence | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | JDK : 1.7.0_02 on Windows 7
2012-04-29 20:30:12,976 | DEBUG | rint Extender: 3 | Persistence | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Persistence API : JPA
2012-04-29 20:30:12,976 | DEBUG | rint Extender: 3 | Persistence | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Plugin Registry : org.datanucleus.plugin.OSGiPluginRegistry
2012-04-29 20:30:12,977 | DEBUG | rint Extender: 3 | Persistence | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Persistence-Unit : YetAnotherPersistenceUnit
2012-04-29 20:30:12,978 | DEBUG | rint Extender: 3 | Persistence | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Standard Options : pm-singlethreaded, retain-values, nontransactional-read, nontransactional-write, serverTimeZone=Asia/Calcutta
2012-04-29 20:30:12,978 | DEBUG | rint Extender: 3 | Persistence | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Persistence Options : detach-on-close deletion-policy=JDO2
2012-04-29 20:30:12,979 | DEBUG | rint Extender: 3 | Persistence | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Transactions : type=RESOURCE_LOCAL mode=optimistic isolation=read-committed
2012-04-29 20:30:12,979 | DEBUG | rint Extender: 3 | Persistence | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Value Generation : txn-isolation=read-committed connection=New
2012-04-29 20:30:12,980 | DEBUG | rint Extender: 3 | Persistence | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | ClassLoading : jdoprimary=65.0
2012-04-29 20:30:12,980 | DEBUG | rint Extender: 3 | Persistence | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Cache : Level1 (soft), Level2 (soft, mode=UNSPECIFIED), QueryResults (soft), Collections/Maps
2012-04-29 20:30:12,981 | DEBUG | rint Extender: 3 | Persistence | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | ===========================================================
2012-04-29 20:30:13,006 | DEBUG | rint Extender: 3 | Persistence | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Object Manager "org.datanucleus.ObjectManagerImpl@18bca2ea" opened for datastore "org.datanucleus.store.rdbms.RDBMSStoreManager@67d207b2"
2012-04-29 20:30:13,008 | DEBUG | rint Extender: 3 | Cache | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Level 1 Cache of type "soft" initialised
2012-04-29 20:30:13,011 | DEBUG | rint Extender: 3 | Cache | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Level 2 Cache of type "soft" initialised
2012-04-29 20:30:13,014 | DEBUG | rint Extender: 3 | Transaction | org.datanucleus.util.Log4JLogger 58 | 69 - org.datanucleus - 3.0.10 | Transaction created [DataNucleus Transaction, ID=Xid=

"org.datanucleus.ObjectManagerImpl@18bca2ea" closed
2012-04-29 20:30:13,021 | ERROR | rint Extender: 3 | BlueprintContainerImpl | container.BlueprintContainerImpl 358 | 10 - org.apache.aries.blueprint - 0.3.1 | Unable to start blueprint container for bundle com.ge.dsp.das.das-consumer-application
org.osgi.service.blueprint.container.ComponentDefinitionException: Unable to intialize bean dbAccess
at org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:638)[10:org.apache.aries.blueprint:0.3.1]
at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:724)[10:org.apache.aries.blueprint:0.3.1]
at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:64)[10:org.apache.aries.blueprint:0.3.1]
at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:219)[10:org.apache.aries.blueprint:0.3.1]
at org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:147)[10:org.apache.aries.blueprint:0.3.1]
at org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:640)[10:org.apache.aries.blueprint:0.3.1]
at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:331)[10:org.apache.aries.blueprint:0.3.1]
at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:227)[10:org.apache.aries.blueprint:0.3.1]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)[:1.7.0_02]
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)[:1.7.0_02]
at java.util.concurrent.FutureTask.run(FutureTask.java:166)[:1.7.0_02]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)[:1.7.0_02]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)[:1.7.0_02]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)[:1.7.0_02]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)[:1.7.0_02]
at java.lang.Thread.run(Thread.java:722)[:1.7.0_02]
Caused by: java.lang.IllegalArgumentException: Type ("com.ge.dsp.das.consumer.app.jpa.ToyShop") is not that of an entity but needs to be for this operation
at org.datanucleus.api.jpa.JPAEntityManager.assertEntity(JPAEntityManager.java:1312)
at org.datanucleus.api.jpa.JPAEntityManager.persist(JPAEntityManager.java:521)
at com.ge.dsp.das.consumer.app.jpa.DatabaseAccess.doWork(DatabaseAccess.java:120)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.7.0_02]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[:1.7.0_02]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_02]
at java.lang.reflect.Method.invoke(Method.java:601)[:1.7.0_02]
at org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:226)[10:org.apache.aries.blueprint:0.3.1]
at org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:824)[10:org.apache.aries.blueprint:0.3.1]
at org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:636)[10:org.apache.aries.blueprint:0.3.1]
... 15 more
Caused by: org.datanucleus.exceptions.NoPersistenceInformationException: The class "com.ge.dsp.das.consumer.app.jpa.ToyShop" is required to be persistable yet no Meta-Data/Annotations can be found for this class. Please check that the Meta-Data/annotations is defined in a valid file location.
at org.datanucleus.ObjectManagerImpl.assertClassPersistable(ObjectManagerImpl.java:5447)
at org.datanucleus.api.jpa.JPAEntityManager.assertEntity(JPAEntityManager.java:1308)
... 24 more

Andy Jefferson added a comment - 29/Apr/12 06:59 PM
JIRA is for specific issues with specific well-defined problems, requiring a testcase. It is not for question answering or debugging (this started as something on Virgo seemingly related to it not supporting blueprint, then went to something else, then something else). Please use the forum for that. If you have a specific problem then that represents a JIRA issue and requires a testcase. Thx

Vivek Mehrotra added a comment - 30/Apr/12 09:33 PM
Well, Thanks. I am able to make it work on plain OSGi (felix) with DataNucleus JPA with some of the issues in manifest.mf fixed by myself. The issue which I fixed is:

- In 3.0.0.release, I get "java.lang.ClassNotFoundException: javax.xml.parsers.ParserConfigurationException not found by org.datanucleus [63]" and ": java.lang.ClassNotFoundException: org.w3c.dom.Element not found by org.datanucleus [63]"

-Vivek

Andy Jefferson added a comment - 19/May/12 01:37 PM
Those 2 updates in MANIFEST.MF were added to SVN trunk some time ago (several releases ago), so mustn't be using a recent version. I see no other DataNucleus-specific problem in what was added to this issue. Raise as separate issues with testcases if you did have something (against latest release). Thx