[
https://issues.apache.org/jira/browse/ARIES-646?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13032916#comment-13032916
]
Alasdair Nottingham commented on ARIES-646:
-------------------------------------------
Hi,
The aries transaction manager both exports and imports javax.transaction at
1.1. So if you had another provider of 1.1 it would be wired to that one. Just
removing the package wouldn't solve the problem though because then you
wouldn't have a provider of javax.transaction. I believe the Enterprise OSGi
spec says javax.transaction should be versioned at 1.1.
Alasdair
> 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