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