Uploaded image for project: 'ActiveMQ Classic'
  1. ActiveMQ Classic
  2. AMQ-8971

ActiveMQ OSGI feature, activemq-client, using JMS 2.0 bundle, which fails resolution, from 5.16.3 on

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 5.18.0, 5.17.2
    • OSGi/Karaf
    • None

    Description

      Building an ActiveMQ client application in OSGI.  Using AMQ versions 5.16.3 through 5.17.1.

      After building the application and loading it together with the ActiveMQ feature named activemq-client, a resolution error occurs with the following details:

       

      osgi.wiring.package; filter:="(&(osgi.wiring.package=javax.jms)(version>=1.1.0)(!(version>=2.0.0)))" 

      Tracking this down, the activemq-client feature definition contains the following:

       

       

      <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jms_2.0_spec/1.0-alpha-2</bundle> 

      Using the karaf console command, package:exports | grep javax.jms, after loading the activemq-client feature, shows that this bundle ONLY exports the 2.0.0 version:

       

       

      javax.jms                                              │ 2.0.0       │ 73 │ org.apache.geronimo.specs.geronimo-jms_2.0_spec 

       

      The same feature in 5.16.2 contains the following definition:

       

      <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/1.1.1</bundle> 

       

      All of the ACTIVEMQ modules, except for activemq-karaf are using the following dependency:

       

          <dependency>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-jms_1.1_spec</artifactId>
          </dependency>

      ....

      In Summary, compiling an ActiveMQ client application using activemq-client from versions 5.16.3 through 5.17.1, the application fails to resovle in Karaf by loading the activemq-client feature.

      STEPS TO REPRODUCE

      • feature:repo-add mvn:org.apache.activemq/activemq-karaf/5.17.1/xml/features-core
      • feature:install activemq-client
      • bundle:install ...application-bundle...

      EXPECTED RESULTS

      • Successful load of the application bundle built against version 5.17.1 of ActiveMQ artifacts after loading the activemq-client feature

      ROOT CAUSE

      • Replacing the JMS 1.0 geronimo specification bundle with the 2.0 one in the activemq-client feature causes this problem.  It also seems very odd since no other internals of ActiveMQ use the JMS 2.0 spec at all.

       

      Attachments

        Activity

          People

            jbonofre Jean-Baptiste Onofré
            artnaseef Arthur Naseef
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 40m
                40m