Seth Leger created AMQ-6301:
-------------------------------

             Summary: Embed spring-dm in activemq-osgi to avoid loading 
spring-dm in Karaf
                 Key: AMQ-6301
                 URL: https://issues.apache.org/jira/browse/AMQ-6301
             Project: ActiveMQ
          Issue Type: Improvement
          Components: OSGi/Karaf
    Affects Versions: 5.13.0
            Reporter: Seth Leger


Embed spring-dm in activemq-osgi to avoid loading spring-dm in Karaf

In commit 3a6d67e8f95320bea91b7c7106173c9b34773bc5, a test was fixed in issue 
AMQ-4727 by reusing the spring-dm OsgiBundleXmlApplicationContext class inside 
the ActiveMQServiceFactory managed service factory.

To satisfy the import packages for activemq-osgi, the 'spring-dm' Karaf feature 
was added to the main 'activemq-client' feature.

This is problematic because loading the 'spring-dm' Karaf feature enables the 
Spring DM deployer. This deployer is unnecessary in environments that rely on 
Blueprint or CDI wiring and it may unexpectedly activate Spring DM bundles in 
those environments. Because spring-dm was compiled against older versions of 
Spring 3.0 and 3.1, it can also cause older versions of Spring features to be 
loaded into the container.

To avoid using the ‘spring-dm’ Karaf feature to provide the classes, I propose 
embedding the spring-dm bundles inside activemq-osgi. Since they are only used 
as library code to provide the BundleContext when parsing the BrokerService 
context, they can be embedded safely without any dependency issues.

This is the root cause of the following issue:

http://karaf.922171.n3.nabble.com/Karaf-4-0-3-unable-to-start-bundle-activemq-osgi-5-13-0-td4044640.html



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

Reply via email to