[ https://issues.apache.org/jira/browse/ARIES-646?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13032900#comment-13032900 ]
Dmytro Pishchukhin commented on ARIES-646: ------------------------------------------ Alasdair, you are right regarding javax,transaction.* packages. Right now, there are 2 versions of javax.transaction.* packages in the framework: 0.0.0 from system bundle Package: javax.transaction.xa specification version: 0.0.0 removal pending: false exporting bundle: System Bundle (#0) importing bundle: Apache Derby 10.8 (#10) OpenJPA Aggregate Jar (#15) Commons DBCP (#13) Package: javax.transaction specification version: 0.0.0 removal pending: false exporting bundle: System Bundle (#0) importing bundle: OpenJPA Aggregate Jar (#15) Commons DBCP (#13) and 1.1.0 from Apache Aries Transaction Manager: Package: javax.transaction.xa specification version: 1.1.0 removal pending: false exporting bundle: Apache Aries Transaction Manager (#22) Package: javax.transaction specification version: 1.1.0 removal pending: false exporting bundle: Apache Aries Transaction Manager (#22) Question: why does Aries Transaction manager export it's own version of javax.transaction.* packages? Is it not easier to import those packages from outside bundle (e.g. geronimo_spec_jta_1.1)? I this case we can avoid package/version resolving conflicts. > NCDFE in Knopflerfish > --------------------- > > Key: ARIES-646 > URL: https://issues.apache.org/jira/browse/ARIES-646 > Project: Aries > Issue Type: Bug > Components: JPA > Affects Versions: 0.3 > Environment: win vista, java 1.6.0_21, OSGi Knopflerfish 3.1.0, > OpenJPA 2.1.0, Apache Derby 10.8.1.2 > Reporter: Dmytro Pishchukhin > Labels: knopflerfish > > A simple JPA example does not work in Knopflerfish. The example works fine in > Equinox and Felix. > All sources are here: https://github.com/dpishchukhin/org.knowhowlab.tips.jpa > There are some details of bundles and errors: > List of bundles: > id level/state modified location > ---------------------------------------------- > 0 0/active 13.05.11 08:40 System Bundle > 1 1/active 13.05.11 08:40 > file:bundles/org.knopflerfish.log-API_3.0.5.jar > 2 1/active 13.05.11 08:40 > file:bundles/org.knopflerfish.bundle.cm-API_3.0.1.jar > 3 1/active 13.05.11 08:40 > file:bundles/org.knopflerfish.bundle.console_3.0.1.jar > 4 1/active 13.05.11 08:40 > file:bundles/org.knopflerfish.bundle.consoletty-IMPL_3.0.1.jar > 5 1/active 13.05.11 08:40 > file:bundles/org.knopflerfish.bundle.frameworkcommands-IMPL_3.0.3.jar > 6 5/active 13.05.11 08:40 > file:bundles/org.knowhowlab.osgi.shell.knopflerfish_1.0.1.jar > 7 5/active 13.05.11 08:40 > file:bundles/osgi.cmpn_4.2.0.200908310645.jar > 8 5/active 13.05.11 08:40 > file:bundles/osgi.enterprise_4.2.0.201003190513.jar > 9 5/active 13.05.11 08:40 > file:bundles/org.apache.geronimo.specs.geronimo-jpa_2.0_spec_1.1.jar > 10 5/active 13.05.11 08:40 > file:bundles/derby_10.8.1000002.1095077.jar > 11 5/active 13.05.11 08:40 > file:bundles/org.apache.commons.collections_3.2.1.jar > 12 5/active 13.05.11 08:40 > file:bundles/org.apache.commons.pool_1.5.5.jar > 13 5/active 13.05.11 08:40 > file:bundles/org.apache.commons.dbcp_1.4.jar > 14 5/active 13.05.11 08:40 > file:bundles/org.apache.commons.lang_2.6.jar > 15 5/active 13.05.11 08:40 file:bundles/org.apache.openjpa_2.1.0.jar > 16 5/active 13.05.11 08:40 file:bundles/slf4j.api_1.6.1.jar (h:17) > 17 5/resolved 13.05.11 08:40 file:bundles/slf4j.simple_1.6.1.jar (f:16) > 18 5/active 13.05.11 08:40 > file:bundles/org.apache.servicemix.bundles.serp_1.13.1.3.jar > 19 5/active 13.05.11 08:40 > file:bundles/org.apache.aries.util_0.3.0.jar > 20 5/active 13.05.11 08:40 > file:bundles/org.apache.aries.jpa.api_0.3.0.jar > 21 5/active 13.05.11 08:40 > file:bundles/org.apache.aries.jpa.container_0.3.0.jar > 22 5/active 13.05.11 08:40 > file:bundles/org.apache.aries.transaction.manager_0.3.0.jar > 23 5/active 13.05.11 08:40 > file:bundles/org.knowhowlab.tips.jpa.model_1.0.0.SNAPSHOT.jar > 24 5/active 13.05.11 08:40 > file:bundles/org.knowhowlab.tips.jpa.client_1.0.0.SNAPSHOT.jar > On framework start error: > > 0 [BundleStart #21] INFO org.apache.aries.jpa.container - No > > org.apache.aries.jpa.container.properties file was found. The default > > properties {} will be used. > 187 [BundleStart #21] INFO org.apache.aries.jpa.container - No quiesce > support is available, so managed persistence units will not participate in > quiesce operat > ions > ## DEBUG: errors - FrameworkErrorEvent bundle #21 > ## DEBUG: errors - FrameworkErrorEvent throwable: > java.lang.NoClassDefFoundError: javax/transaction/Synchronization > at java.lang.ClassLoader.defineClass1(Native Method) > at java.lang.ClassLoader.defineClassCond(Unknown Source) > at java.lang.ClassLoader.defineClass(Unknown Source) > at java.lang.ClassLoader.defineClass(Unknown Source) > at > org.knopflerfish.framework.BundleClassLoader.access$400(BundleClassLoader.java:61) > at > org.knopflerfish.framework.BundleClassLoader$1.get(BundleClassLoader.java:996) > at > org.knopflerfish.framework.BundleClassLoader.searchFor0(BundleClassLoader.java:899) > at > org.knopflerfish.framework.BundleClassLoader.searchFor(BundleClassLoader.java:724) > at > org.knopflerfish.framework.PermissionOps.callSearchFor(PermissionOps.java:191) > at > org.knopflerfish.framework.BundleClassLoader.findClass(BundleClassLoader.java:230) > at > org.knopflerfish.framework.BundleClassLoader.loadClass(BundleClassLoader.java:368) > at java.lang.ClassLoader.loadClass(Unknown Source) > at java.lang.ClassLoader.defineClass1(Native Method) > at java.lang.ClassLoader.defineClassCond(Unknown Source) > at java.lang.ClassLoader.defineClass(Unknown Source) > at java.lang.ClassLoader.defineClass(Unknown Source) > at > org.knopflerfish.framework.BundleClassLoader.access$400(BundleClassLoader.java:61) > at > org.knopflerfish.framework.BundleClassLoader$1.get(BundleClassLoader.java:996) > at > org.knopflerfish.framework.BundleClassLoader.searchFor0(BundleClassLoader.java:899) > at > org.knopflerfish.framework.BundleClassLoader.searchFor(BundleClassLoader.java:724) > at > org.knopflerfish.framework.PermissionOps.callSearchFor(PermissionOps.java:191) > at > org.knopflerfish.framework.BundleClassLoader.findClass(BundleClassLoader.java:230) > at > org.knopflerfish.framework.BundleClassLoader.loadClass(BundleClassLoader.java:368) > at java.lang.ClassLoader.loadClass(Unknown Source) > at java.lang.ClassLoader.defineClass1(Native Method) > at java.lang.ClassLoader.defineClassCond(Unknown Source) > at java.lang.ClassLoader.defineClass(Unknown Source) > at java.lang.ClassLoader.defineClass(Unknown Source) > at > org.knopflerfish.framework.BundleClassLoader.access$400(BundleClassLoader.java:61) > at > org.knopflerfish.framework.BundleClassLoader$1.get(BundleClassLoader.java:996) > at > org.knopflerfish.framework.BundleClassLoader.searchFor0(BundleClassLoader.java:899) > at > org.knopflerfish.framework.BundleClassLoader.searchFor(BundleClassLoader.java:724) > at > org.knopflerfish.framework.PermissionOps.callSearchFor(PermissionOps.java:191) > at > org.knopflerfish.framework.BundleClassLoader.findClass(BundleClassLoader.java:230) > at > org.knopflerfish.framework.BundleClassLoader.loadClass(BundleClassLoader.java:368) > at java.lang.ClassLoader.loadClass(Unknown Source) > at org.apache.openjpa.conf.BrokerValue.<init>(BrokerValue.java:44) > at > org.apache.openjpa.conf.OpenJPAConfigurationImpl.<init>(OpenJPAConfigurationImpl.java:226) > at > org.apache.openjpa.conf.OpenJPAConfigurationImpl.<init>(OpenJPAConfigurationImpl.java:200) > at > org.apache.openjpa.conf.OpenJPAConfigurationImpl.<init>(OpenJPAConfigurationImpl.java:191) > at > org.apache.openjpa.persistence.PersistenceProviderImpl.newConfigurationImpl(PersistenceProviderImpl.java:263) > at > org.apache.openjpa.persistence.PersistenceProviderImpl.createContainerEntityManagerFactory(PersistenceProviderImpl.java:172) > at > org.apache.openjpa.persistence.PersistenceProviderImpl.createContainerEntityManagerFactory(PersistenceProviderImpl.java:66) > 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.knopflerfish.framework.Listeners.bundleChanged(Listeners.java:445) > at > org.knopflerfish.framework.Listeners.bundleChanged(Listeners.java:310) > at org.knopflerfish.framework.BundleThread.run(BundleThread.java:96) > Caused by: java.lang.ClassNotFoundException: javax.transaction.Synchronization > at > org.knopflerfish.framework.BundleClassLoader.findClass(BundleClassLoader.java:252) > at > org.knopflerfish.framework.BundleClassLoader.loadClass(BundleClassLoader.java:368) > at java.lang.ClassLoader.loadClass(Unknown Source) > ... 52 more > Framework launched > On aries.jpa.contained bundle (21) restart: > framework> start 21 > 182154 [BundleStart #21] INFO org.apache.aries.jpa.container - No > org.apache.aries.jpa.container.properties file was found. The default > properties {} will be us > ed. > 182154 [BundleStart #21] WARN org.apache.aries.jpa.container - The bundle > org.knowhowlab.tips.jpa.model_1.0.0.SNAPSHOT is already active, it may not be > possible > to create managed persistence units for it. > Couldn't start bundle: Aries JPA Container (#21) (due to: > java.lang.NoClassDefFoundError: > org/apache/openjpa/kernel/FinalizingBrokerImpl) > java.lang.NoClassDefFoundError: org/apache/openjpa/kernel/FinalizingBrokerImpl > at org.apache.openjpa.conf.BrokerValue.<init>(BrokerValue.java:44) > at > org.apache.openjpa.conf.OpenJPAConfigurationImpl.<init>(OpenJPAConfigurationImpl.java:226) > at > org.apache.openjpa.conf.OpenJPAConfigurationImpl.<init>(OpenJPAConfigurationImpl.java:200) > at > org.apache.openjpa.conf.OpenJPAConfigurationImpl.<init>(OpenJPAConfigurationImpl.java:191) > at > org.apache.openjpa.persistence.PersistenceProviderImpl.newConfigurationImpl(PersistenceProviderImpl.java:263) > at > org.apache.openjpa.persistence.PersistenceProviderImpl.createContainerEntityManagerFactory(PersistenceProviderImpl.java:172) > at > org.apache.openjpa.persistence.PersistenceProviderImpl.createContainerEntityManagerFactory(PersistenceProviderImpl.java:66) > at > org.apache.aries.jpa.container.impl.EntityManagerFactoryManager.createEntityManagerFactories(EntityManagerFactoryManager.java:263) > at > org.apache.aries.jpa.container.impl.EntityManagerFactoryManager.registerEntityManagerFactories(EntityManagerFactoryManager.java:204) > at > org.apache.aries.jpa.container.impl.EntityManagerFactoryManager.bundleStateChange(EntityManagerFactoryManager.java:158) > at > org.apache.aries.jpa.container.impl.PersistenceBundleManager.setupManager(PersistenceBundleManager.java:384) > at > org.apache.aries.jpa.container.impl.PersistenceBundleManager.addingBundle(PersistenceBundleManager.java:148) > at > org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:439) > at > org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:261) > at > org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:184) > at org.osgi.util.tracker.BundleTracker.open(BundleTracker.java:159) > at > org.apache.aries.util.tracker.RecursiveBundleTracker.open(RecursiveBundleTracker.java:77) > at > org.apache.aries.jpa.container.impl.PersistenceBundleManager.open(PersistenceBundleManager.java:132) > at > org.apache.aries.jpa.container.impl.PersistenceBundleManager.start(PersistenceBundleManager.java:619) > at org.knopflerfish.framework.BundleImpl.start0(BundleImpl.java:478) > at org.knopflerfish.framework.BundleThread.run(BundleThread.java:100) -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira