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


Reply via email to