Just to make sure it wasn't something with my karaf, i extracted a clean version from tarball and ran the commands as you listed:
feature:repo-add activemq 5.13.0 feature:repo-add camel 2.16.1 feature:install transaction activemq-camel then karaf@root()> bundle:diag Apache Aries Transaction Blueprint (58) --------------------------------------- Status: GracePeriod Blueprint 12/16/15 11:52 AM Missing dependencies: (objectClass=javax.transaction.TransactionManager) Apache Aries Transaction Blueprint (59) --------------------------------------- Status: GracePeriod Blueprint 12/16/15 11:52 AM Missing dependencies: (objectClass=javax.transaction.TransactionManager) I'm not sure what might be different between our two setups which would matter? On Wed, 16 Dec 2015 17:33:46 +0100, Christian Schneider <[email protected]> wrote: > I just tried this: > feature:repo-add activemq 5.13.0 > feature:repo-add camel 2.16.1 > feature:install transaction activemq-camel > > After this I have two bundles offering jta: > 74 | Active | 10 | 1.1.1 | > org.apache.geronimo.specs.geronimo-jta_1.1_spec > 55 | Active | 80 | 1.2 | javax.transaction-api > > exports | grep javax.transaction > javax.transaction.xa | 0.0.0 > | 0 | org.eclipse.osgi > javax.transaction.xa | 1.1.0 > | 74 | org.apache.geronimo.specs.geronimo-jta_1.1_spec > javax.transaction.xa | 1.2.0 > | 55 | javax.transaction-api > javax.transaction | 0.0.0 > | 0 | org.eclipse.osgi > javax.transaction | 1.1.0 > | 74 | org.apache.geronimo.specs.geronimo-jta_1.1_spec > javax.transaction | 1.2.0 > | 55 | javax.transaction-api > > I do not get an error using diag but the presence of several jta APIs > alone will create problems for as it is not sure which bundle binds to > which API. > > > This is strange as in the camel feature the dependency=true flag is set > for the jta bundle. So I would expect it to be not installed. > So not sure but it may indeed be a bug. > > Christian > > > On 16.12.2015 17:02, Ed Welch wrote: > > I *think* I may have found a bug, and I think it's with karaf based on this > > behavior I'm seeing: > > > > If I install the transaction and activemq-camel features one at a time > > manually from console: No Problem > > > > vs > > > > If I install them as dependent features of another feature: Problem > > > > > > Background: > > > > Running Karaf 4.0.3, activemq 5.13.0 and camel 2.16.1 on Linux (Ubuntu) > > > > I can install the karaf transaction and activemq-camel features manually at > > command line and everything seems fine, output of bundle:diag is empty > > > > However.... if I have a simple feature like: > > > > <?xml version="1.0" encoding="UTF-8"?> > > <features xmlns="http://karaf.apache.org/xmlns/features/v1.3.0" > > name="test-feature-1.0"> > > <feature description="test" version="1.0" name="test-feature"> > > <feature>transaction</feature> > > <feature>activemq-camel</feature> > > </feature> > > </features> > > > > > > When i install that feature, bundle-diag will output: > > karaf@root()> bundle:diag > > Apache Aries Transaction Blueprint (98) > > --------------------------------------- > > Status: GracePeriod > > Blueprint > > 12/16/15 10:46 AM > > Missing dependencies: > > (objectClass=javax.transaction.TransactionManager) > > > > > > Apache Aries Transaction Blueprint (99) > > --------------------------------------- > > Status: GracePeriod > > Blueprint > > 12/16/15 10:46 AM > > Missing dependencies: > > (objectClass=javax.transaction.TransactionManager) > > > > > > > > It looks like what's happening is activemq-camel installs dependent feature > > camel-jms, which looks like: > > > > <feature name='camel-jms' version='${project.version}' resolver='(obr)' > > start-level='50'> > > <feature version='${spring-version-range-karaf}'>spring</feature> > > <bundle > > dependency='true'>mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/${geronimo-jta-spec-version}</bundle> > > <bundle > > dependency='true'>mvn:commons-pool/commons-pool/${commons-pool-version}</bundle> > > <bundle > > dependency='true'>mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/${geronimo-jms-spec-version}</bundle> > > <feature version='${spring-version-range-karaf}'>spring-jms</feature> > > <feature version='${project.version}'>camel-core</feature> > > <bundle>mvn:org.apache.camel/camel-jms/${project.version}</bundle> > > </feature> > > > > i think it's the inclusion of this bundle which is causing some issue > > <bundle > > dependency='true'>mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/${geronimo-jta-spec-version}</bundle> > > > > when the feature finishes loading, I see a whole bunch of wiring to this > > geronimo jta package, > > > > which is something I did not see when the features are installed separately. > > > > Not sure, but this maybe related to javax.transaction being in the boot > > delegation section? (I don't totally understand what boot delegation does) > > > > Did I find a bug in the karaf feature resolver? > > > > Thanks, > > Ed > > > -- > Christian Schneider > http://www.liquid-reality.de > > Open Source Architect > http://www.talend.com
