I wanted to follow up on this, was going to file a Jira.

I don't know if anyone else was able to recreate the issue I'm seeing, I don't 
*think* this is related to the environment or other setup I'm using, yet 
Christian wasn't able to reproduce this, and it is 100% reproducible for me.


On Wed, 16 Dec 2015 18:00:40 +0100, Christian Schneider 
<[email protected]> wrote:

> I dont think there is a difference. Probably it just does not always happen.
> I guess it is like this one:
> https://issues.apache.org/jira/browse/KARAF-4173
> 
> Christian
> 
> 
> On 16.12.2015 17:54, Ed Welch wrote:
> > 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
> >
> 
> 
> -- 
> Christian Schneider
> http://www.liquid-reality.de
> 
> Open Source Architect
> http://www.talend.com


Reply via email to