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
