You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@karaf.apache.org by "Edward Welch (JIRA)" <ji...@apache.org> on 2015/12/23 16:47:46 UTC

[jira] [Created] (KARAF-4237) can't install transaction feature and activemq-camel feature: Missing dependency javax.transaction.TransactionManager

Edward Welch created KARAF-4237:
-----------------------------------

             Summary: can't install transaction feature and activemq-camel feature: Missing dependency javax.transaction.TransactionManager
                 Key: KARAF-4237
                 URL: https://issues.apache.org/jira/browse/KARAF-4237
             Project: Karaf
          Issue Type: Bug
    Affects Versions: 4.0.3
         Environment: ubuntu 14.04, java 7 update 79 (also tried with java 8 update 45), karaf 3.0.3 camel 2.16.1, activemq 5.13.0
            Reporter: Edward Welch


I found a little bit of a strange behavior, which I think points to a possible bug in the features dependency resolver?

Easiest way to reproduce, start with a vanilla 4.0.3

feature:repo-add activemq 5.13.0
feature:repo-add camel 2.16.1
feature:install transaction activemq-camel
bundle:diag

You will see both Apache Aries Transaction Blueprint bundles in Grace Period waiting for javax.transaction.TransactionManager

Pretty sure this is caused by some bad wiring on a bundle which activemq-camel brings in, here is that feature descriptor:
{code}
<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>
{code}

I see the aries transaction bundles being wired to this bundle coming from the activemq-camel feature: mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/${geronimo-jta-spec-version}

What's strange about this, that bundle is marked dependency="true" so I would think it wouldn't need to be installed at all.

Also peculiar, if you follow this install order:
feature:repo-add activemq 5.13.0
feature:repo-add camel 2.16.1
feature:install transaction
feature:install activemq-camel
bundle:diag

There is no issue, so the re-wiring/refresh of the transaction bundles never happens

Also when I originally posted this on the mailing list: 

http://karaf.922171.n3.nabble.com/Missing-dependency-javax-transaction-TransactionManager-with-transaction-feature-and-activemq-camel-td4044354.html

Christian Schneider was unable to reproduce the issue, even though it occurs 100% of the time for me, so maybe there is something else in play here that I can't think of.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)