[jira] [Commented] (AMQ-6241) Installing camel-core in Karaf prevents activemq-camel from deploying successfully
[ https://issues.apache.org/jira/browse/AMQ-6241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16061321#comment-16061321 ] Seth Leger commented on AMQ-6241: - Hi [~cjruffy], have you tried upgrading to ActiveMQ 5.14? I recently upgraded our infrastructure to use ActiveMQ 5.14 (which included my fixes for AMQ-6301) and it was compatible inside Karaf 4.0.8 with Camel 2.18 and 2.19. Also, you may need to look at what version of Karaf you are using, there were some major changes to the way that features are resolved and installed even within the point releases for 4.0. You might try 4.0.6 and higher if you can. > Installing camel-core in Karaf prevents activemq-camel from deploying > successfully > -- > > Key: AMQ-6241 > URL: https://issues.apache.org/jira/browse/AMQ-6241 > Project: ActiveMQ > Issue Type: Bug > Components: activemq-camel >Affects Versions: 5.13.2 > Environment: Karaf 4.0.3, Java 8 >Reporter: Ralf Steppacher >Priority: Critical > > Installing {{activemq-camel}} into a virgin Karaf 4.0.3 instance works. If > {{camel-core}} gets installed before one attempts to install > {{activemq-camel}}, the latter fails: > {noformat} > $ ./karaf > __ __ >/ //_/ __ _/ __/ > / ,< / __ `/ ___/ __ `/ /_ > / /| |/ /_/ / / / /_/ / __/ > /_/ |_|\__,_/_/ \__,_/_/ > Apache Karaf (4.0.3) > Hit '' for a list of available commands > and '[cmd] --help' for help on a specific command. > Hit '' or type 'system:shutdown' or 'logout' to shutdown Karaf. > karaf@root()> feature:repo-add activemq 5.13.2 > Adding feature url mvn:org.apache.activemq/activemq-karaf/5.13.2/xml/features > karaf@root()> feature:repo-add camel 2.17.0 > Adding feature url mvn:org.apache.camel.karaf/apache-camel/2.17.0/xml/features > karaf@root()> feature:install camel-core > karaf@root()> feature:install activemq > activemqactivemq-blueprint activemq-broker > activemq-broker-noweb > activemq-camel activemq-client activemq-web-console > karaf@root()> feature:install activemq-camel > karaf@root()> bundle:list | grep -i activemq > 59 | Active | 80 | 5.13.2 | activemq-camel > 60 | Failure | 80 | 5.13.2 | activemq-osgi > karaf@root()> > {noformat} > Error in Karaf log: > {noformat} > 2016-04-11 17:25:25,093 | INFO | nsole user karaf | FeaturesServiceImpl > | 9 - org.apache.karaf.features.core - 4.0.3 | | Adding features: > activemq-camel/[5.13.2,5.13.2] > 2016-04-11 17:25:25,804 | INFO | pool-41-thread-1 | FeaturesServiceImpl > | 9 - org.apache.karaf.features.core - 4.0.3 | | Changes to perform: > 2016-04-11 17:25:25,805 | INFO | pool-41-thread-1 | FeaturesServiceImpl > | 9 - org.apache.karaf.features.core - 4.0.3 | | Region: root > 2016-04-11 17:25:25,805 | INFO | pool-41-thread-1 | FeaturesServiceImpl > | 9 - org.apache.karaf.features.core - 4.0.3 | | Bundles to > install: > 2016-04-11 17:25:25,805 | INFO | pool-41-thread-1 | FeaturesServiceImpl > | 9 - org.apache.karaf.features.core - 4.0.3 | | > mvn:org.apache.activemq/activemq-camel/5.13.2 > 2016-04-11 17:25:25,805 | INFO | pool-41-thread-1 | FeaturesServiceImpl > | 9 - org.apache.karaf.features.core - 4.0.3 | | > mvn:org.apache.activemq/activemq-osgi/5.13.2 > 2016-04-11 17:25:25,805 | INFO | pool-41-thread-1 | FeaturesServiceImpl > | 9 - org.apache.karaf.features.core - 4.0.3 | | > mvn:org.apache.camel/camel-blueprint/2.17.0 > 2016-04-11 17:25:25,805 | INFO | pool-41-thread-1 | FeaturesServiceImpl > | 9 - org.apache.karaf.features.core - 4.0.3 | | > mvn:org.apache.camel/camel-jms/2.17.0 > 2016-04-11 17:25:25,805 | INFO | pool-41-thread-1 | FeaturesServiceImpl > | 9 - org.apache.karaf.features.core - 4.0.3 | | > mvn:org.apache.camel/camel-spring/2.17.0 > 2016-04-11 17:25:25,806 | INFO | pool-41-thread-1 | FeaturesServiceImpl > | 9 - org.apache.karaf.features.core - 4.0.3 | | > mvn:commons-net/commons-net/3.3 > 2016-04-11 17:25:25,806 | INFO | pool-41-thread-1 | FeaturesServiceImpl > | 9 - org.apache.karaf.features.core - 4.0.3 | | > mvn:commons-pool/commons-pool/1.6 > 2016-04-11 17:25:25,806 | INFO | pool-41-thread-1 | FeaturesServiceImpl > | 9 - org.apache.karaf.features.core - 4.0.3 | | > mvn:org.apache.commons/commons-pool2/2.4.2 > 2016-04-11 17:25:25,806 | INFO | pool-41-thread-1 | FeaturesServiceImpl > | 9 - org.apache.karaf.features.core - 4.0.3 | | > mvn:org.apache.geronimo.specs/geronimo-j2ee-management_1.1_spec/1.0.1 > 2016-04-11
[jira] [Commented] (AMQ-6301) Embed spring-dm in activemq-osgi to avoid loading spring-dm in Karaf
[ https://issues.apache.org/jira/browse/AMQ-6301?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15359540#comment-15359540 ] Seth Leger commented on AMQ-6301: - Thanks for clarifying, I wasn't aware that Camel 2.17 required camel-spring. I totally agree with everything here. I wish it was easier but it's tough to line up dependencies sometimes. :) > 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 > Labels: patch > > 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)
[jira] [Commented] (AMQ-6301) Embed spring-dm in activemq-osgi to avoid loading spring-dm in Karaf
[ https://issues.apache.org/jira/browse/AMQ-6301?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15358938#comment-15358938 ] Seth Leger commented on AMQ-6301: - Hi Christopher, I just wanted to provide feedback that in our environment (Camel and ActiveMQ with only Blueprint inside Karaf) I don't think we have any dependency on camel-spring. If ActiveMQ removes its spring-dm dependency now, our environment would be free of spring-dm even though we also use Camel. > 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 > Labels: patch > > 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)
[jira] [Commented] (AMQ-6241) Installing camel-core in Karaf prevents activemq-camel from deploying successfully
[ https://issues.apache.org/jira/browse/AMQ-6241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15351179#comment-15351179 ] Seth Leger commented on AMQ-6241: - Hi Ralf, I believe that to resolve this, the AMQ guys will have to remove their dependency on spring-dm (which is in some ways incompatible with Spring 4.0 and higher). You could try my patch for AMQ-6301 and see if that solves the problem. However, I'm not sure that embedding spring-dm will fix compatibility with Camel 2.17 since it relies on Spring 4.1... I've only tested that patch with Camel 2.15 and 2.16 with Spring 4.0. https://github.com/apache/activemq/pull/187 Please let me know if you have success with my patch! Thanks. > Installing camel-core in Karaf prevents activemq-camel from deploying > successfully > -- > > Key: AMQ-6241 > URL: https://issues.apache.org/jira/browse/AMQ-6241 > Project: ActiveMQ > Issue Type: Bug > Components: activemq-camel >Affects Versions: 5.13.2 > Environment: Karaf 4.0.3, Java 8 >Reporter: Ralf Steppacher >Priority: Critical > > Installing {{activemq-camel}} into a virgin Karaf 4.0.3 instance works. If > {{camel-core}} gets installed before one attempts to install > {{activemq-camel}}, the latter fails: > {noformat} > $ ./karaf > __ __ >/ //_/ __ _/ __/ > / ,< / __ `/ ___/ __ `/ /_ > / /| |/ /_/ / / / /_/ / __/ > /_/ |_|\__,_/_/ \__,_/_/ > Apache Karaf (4.0.3) > Hit '' for a list of available commands > and '[cmd] --help' for help on a specific command. > Hit '' or type 'system:shutdown' or 'logout' to shutdown Karaf. > karaf@root()> feature:repo-add activemq 5.13.2 > Adding feature url mvn:org.apache.activemq/activemq-karaf/5.13.2/xml/features > karaf@root()> feature:repo-add camel 2.17.0 > Adding feature url mvn:org.apache.camel.karaf/apache-camel/2.17.0/xml/features > karaf@root()> feature:install camel-core > karaf@root()> feature:install activemq > activemqactivemq-blueprint activemq-broker > activemq-broker-noweb > activemq-camel activemq-client activemq-web-console > karaf@root()> feature:install activemq-camel > karaf@root()> bundle:list | grep -i activemq > 59 | Active | 80 | 5.13.2 | activemq-camel > 60 | Failure | 80 | 5.13.2 | activemq-osgi > karaf@root()> > {noformat} > Error in Karaf log: > {noformat} > 2016-04-11 17:25:25,093 | INFO | nsole user karaf | FeaturesServiceImpl > | 9 - org.apache.karaf.features.core - 4.0.3 | | Adding features: > activemq-camel/[5.13.2,5.13.2] > 2016-04-11 17:25:25,804 | INFO | pool-41-thread-1 | FeaturesServiceImpl > | 9 - org.apache.karaf.features.core - 4.0.3 | | Changes to perform: > 2016-04-11 17:25:25,805 | INFO | pool-41-thread-1 | FeaturesServiceImpl > | 9 - org.apache.karaf.features.core - 4.0.3 | | Region: root > 2016-04-11 17:25:25,805 | INFO | pool-41-thread-1 | FeaturesServiceImpl > | 9 - org.apache.karaf.features.core - 4.0.3 | | Bundles to > install: > 2016-04-11 17:25:25,805 | INFO | pool-41-thread-1 | FeaturesServiceImpl > | 9 - org.apache.karaf.features.core - 4.0.3 | | > mvn:org.apache.activemq/activemq-camel/5.13.2 > 2016-04-11 17:25:25,805 | INFO | pool-41-thread-1 | FeaturesServiceImpl > | 9 - org.apache.karaf.features.core - 4.0.3 | | > mvn:org.apache.activemq/activemq-osgi/5.13.2 > 2016-04-11 17:25:25,805 | INFO | pool-41-thread-1 | FeaturesServiceImpl > | 9 - org.apache.karaf.features.core - 4.0.3 | | > mvn:org.apache.camel/camel-blueprint/2.17.0 > 2016-04-11 17:25:25,805 | INFO | pool-41-thread-1 | FeaturesServiceImpl > | 9 - org.apache.karaf.features.core - 4.0.3 | | > mvn:org.apache.camel/camel-jms/2.17.0 > 2016-04-11 17:25:25,805 | INFO | pool-41-thread-1 | FeaturesServiceImpl > | 9 - org.apache.karaf.features.core - 4.0.3 | | > mvn:org.apache.camel/camel-spring/2.17.0 > 2016-04-11 17:25:25,806 | INFO | pool-41-thread-1 | FeaturesServiceImpl > | 9 - org.apache.karaf.features.core - 4.0.3 | | > mvn:commons-net/commons-net/3.3 > 2016-04-11 17:25:25,806 | INFO | pool-41-thread-1 | FeaturesServiceImpl > | 9 - org.apache.karaf.features.core - 4.0.3 | | > mvn:commons-pool/commons-pool/1.6 > 2016-04-11 17:25:25,806 | INFO | pool-41-thread-1 | FeaturesServiceImpl > | 9 - org.apache.karaf.features.core - 4.0.3 | | > mvn:org.apache.commons/commons-pool2/2.4.2 > 2016-04-11 17:25:25,806 | INFO | pool-41-thread-1 | FeaturesServiceImpl > | 9 - org.apache.karaf.features.core - 4.0.3 | | >
[jira] [Commented] (AMQ-5932) ActiveMQ-OSGI should not depend on spring-dm
[ https://issues.apache.org/jira/browse/AMQ-5932?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15340146#comment-15340146 ] Seth Leger commented on AMQ-5932: - Because spring-dm is only used as library code to provide the BundleContext when parsing the BrokerService context, it can be embedded inside the spring-osgi bundle without any dependency issues. I propose using the pull request in AMQ-6301 as a way to fix OSGi compatiblity with Spring 4.X in ActiveMQ 5.13 and 5.14 until the spring-dm dependency can be removed. > ActiveMQ-OSGI should not depend on spring-dm > > > Key: AMQ-5932 > URL: https://issues.apache.org/jira/browse/AMQ-5932 > Project: ActiveMQ > Issue Type: New Feature > Components: OSGi/Karaf >Affects Versions: 5.13.0 >Reporter: Charlie Mordant > Fix For: 5.14.0 > > > Hi, > Spring-dm is deprecated for a long time, also it has a strong dependency to > spring-3, so all newest spring 4 versions are difficult to use, and that is > blocker for some other frameworks (i.e. thinking about cxf, spring-data). > Also amq 5.9 didn't depend on spring-dm so it should be possible to get rid > of this dep. > Regards, > Charlie -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (AMQ-6301) Embed spring-dm in activemq-osgi to avoid loading spring-dm in Karaf
[ https://issues.apache.org/jira/browse/AMQ-6301?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15300674#comment-15300674 ] Seth Leger commented on AMQ-6301: - Embedding spring-dm in activemq-osgi 5.13.X (and merging forward to master) would fix the following version combinations which do not currently load because of the conflicts with the spring-dm feature: * Spring 4.X + Camel 2.15 + ActiveMQ 5.13 * Spring 4.X + Camel 2.16 + ActiveMQ 5.13 * Spring 4.X + Camel 2.16 + ActiveMQ 5.14-SNAPSHOT Another peripheral issue here is that Camel 2.17 has changed their Karaf feature definitions so that the camel-jms feature excludes Spring 4.0 and lower: * https://github.com/apache/camel/blob/camel-2.17.x/platforms/karaf/features/src/main/resources/features.xml * https://github.com/apache/camel/blob/camel-2.17.x/parent/pom.xml {code:xml} [4.1,5) {code} This further restricts the combinations of Spring 4.0, Camel, and ActiveMQ that are compatible within Karaf. > 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 > Labels: patch > > 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)
[jira] [Commented] (AMQ-6301) Embed spring-dm in activemq-osgi to avoid loading spring-dm in Karaf
[ https://issues.apache.org/jira/browse/AMQ-6301?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15296339#comment-15296339 ] Seth Leger commented on AMQ-6301: - Hi everyone, I just wanted to let you know that my primary motivation is to get ActiveMQ 5.13+ to load in a Karaf container where Spring 4+ is also present. Since the feature version ranges for Spring in the ActiveMQ features restrict Spring to [3.2,4), Spring 3.2 will be installed with ActiveMQ and it will satisfy the Spring dependencies of spring-dm. I understand that this is a stopgap measure and that removing the spring-dm dependency would be a better solution (and would be required for full Spring 4.X compatibility). I thought that embedding would be a not-too-invasive way to make ActiveMQ 5.13 compatible with containers where Spring 4 is in use. > 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 > Labels: patch > > 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)
[jira] [Updated] (AMQ-6301) Embed spring-dm in activemq-osgi to avoid loading spring-dm in Karaf
[ https://issues.apache.org/jira/browse/AMQ-6301?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Seth Leger updated AMQ-6301: Flags: Patch Patch Info: Patch Available Labels: patch (was: ) > 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 > Labels: patch > > 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)
[jira] [Commented] (AMQ-6301) Embed spring-dm in activemq-osgi to avoid loading spring-dm in Karaf
[ https://issues.apache.org/jira/browse/AMQ-6301?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15295731#comment-15295731 ] Seth Leger commented on AMQ-6301: - Embedding spring-dm should fix all of these other issues since they are fundamentally related to Spring version conflicts in Karaf. > 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)
[jira] [Created] (AMQ-6301) Embed spring-dm in activemq-osgi to avoid loading spring-dm in Karaf
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)
[jira] [Updated] (AMQ-6298) Incorrect Import-Package version range for org.springframework.osgi
[ https://issues.apache.org/jira/browse/AMQ-6298?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Seth Leger updated AMQ-6298: Priority: Major (was: Blocker) Description: In issue AMQ-5922, I supplied a patch that updated the OSGi version range inside activemq-osgi for Spring to include Spring 4.X. Unfortunately, I reordered the "org.springframework*" clause and this is causing the version range for Spring and *Spring-DM* classes to be set to "[3,5)". This is not a correct version range for Spring-DM since its releases only went from 1.0 to several 2.0 candidates. was: In issue AMQ-5922, I supplied a patch that updated the OSGi version range inside activemq-osgi for Spring to include Spring 4.X. Unfortunately, I reordered the "org.springframework*" clause and this is causing the version range for Spring and *Spring-DM* classes to be set to "[3,5)". This is not a correct version range for Spring-DM since its releases only went from 1.0 to several 2.0 candidates. As a result, when the activemq-osgi bundle loads inside Apache Karaf, its blueprint (which utilizes classes from the spring-dm bundle) fails to load. The exception trace thrown when this happens is: {noformat} 2016-05-19 18:44:05,952 | ERROR | pool-53-thread-1 | BlueprintContainerImpl | 10 - org.apache.aries.blueprint.core - 1.6.1 | Unable to start blueprint container for bundle org.apache.activemq.activ emq-osgi/5.13.3 org.osgi.service.blueprint.container.ComponentDefinitionException: Unable to instantiate components at org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:728)[10:org.apache.aries.blueprint.core:1.6.1] at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:411)[10:org.apache.aries.blueprint.core:1.6.1] at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:276)[10:org.apache.aries.blueprint.core:1.6.1] at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:300)[10:org.apache.aries.blueprint.core:1.6.1] at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:269)[10:org.apache.aries.blueprint.core:1.6.1] at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:265)[10:org.apache.aries.blueprint.core:1.6.1] at org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:255)[10:org.apache.aries.blueprint.core:1.6.1] at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)[14:org.apache.aries.util:1.1.1] at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)[14:org.apache.aries.util:1.1.1] at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)[14:org.apache.aries.util:1.1.1] at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)[14:org.apache.aries.util:1.1.1] at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)[14:org.apache.aries.util:1.1.1] at org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1179)[org.apache.felix.framework-5.4.0.jar:] at org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:731)[org.apache.felix.framework-5.4.0.jar:] at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:486)[org.apache.felix.framework-5.4.0.jar:] at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4541)[org.apache.felix.framework-5.4.0.jar:] at org.apache.felix.framework.Felix.startBundle(Felix.java:2172)[org.apache.felix.framework-5.4.0.jar:] at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:998)[org.apache.felix.framework-5.4.0.jar:] at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:984)[org.apache.felix.framework-5.4.0.jar:] at org.apache.karaf.features.internal.service.FeaturesServiceImpl.startBundle(FeaturesServiceImpl.java:1262)[7:org.apache.karaf.features.core:4.0.5] at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:840)[7:org.apache.karaf.features.core:4.0.5] at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1152)[7:org.apache.karaf.features.core:4.0.5] at org.apache.karaf.features.internal.service.FeaturesServiceImpl$1.call(FeaturesServiceImpl.java:1048)[7:org.apache.karaf.features.core:4.0.5] at
[jira] [Created] (AMQ-6298) activemq-osgi blueprint fails to load due to broken spring-dm Import-Package metadata
Seth Leger created AMQ-6298: --- Summary: activemq-osgi blueprint fails to load due to broken spring-dm Import-Package metadata Key: AMQ-6298 URL: https://issues.apache.org/jira/browse/AMQ-6298 Project: ActiveMQ Issue Type: Bug Components: OSGi/Karaf Affects Versions: 5.13.3, 5.13.2, 5.13.1, 5.13.0 Reporter: Seth Leger Priority: Blocker In issue AMQ-5922, I supplied a patch that updated the OSGi version range inside activemq-osgi for Spring to include Spring 4.X. Unfortunately, I reordered the "org.springframework*" clause and this is causing the version range for Spring and *Spring-DM* classes to be set to "[3,5)". This is not a correct version range for Spring-DM since its releases only went from 1.0 to several 2.0 candidates. As a result, when the activemq-osgi bundle loads inside Apache Karaf, its blueprint (which utilizes classes from the spring-dm bundle) fails to load. The exception trace thrown when this happens is: {noformat} 2016-05-19 18:44:05,952 | ERROR | pool-53-thread-1 | BlueprintContainerImpl | 10 - org.apache.aries.blueprint.core - 1.6.1 | Unable to start blueprint container for bundle org.apache.activemq.activ emq-osgi/5.13.3 org.osgi.service.blueprint.container.ComponentDefinitionException: Unable to instantiate components at org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:728)[10:org.apache.aries.blueprint.core:1.6.1] at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:411)[10:org.apache.aries.blueprint.core:1.6.1] at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:276)[10:org.apache.aries.blueprint.core:1.6.1] at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:300)[10:org.apache.aries.blueprint.core:1.6.1] at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:269)[10:org.apache.aries.blueprint.core:1.6.1] at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:265)[10:org.apache.aries.blueprint.core:1.6.1] at org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:255)[10:org.apache.aries.blueprint.core:1.6.1] at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)[14:org.apache.aries.util:1.1.1] at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)[14:org.apache.aries.util:1.1.1] at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)[14:org.apache.aries.util:1.1.1] at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)[14:org.apache.aries.util:1.1.1] at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)[14:org.apache.aries.util:1.1.1] at org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1179)[org.apache.felix.framework-5.4.0.jar:] at org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:731)[org.apache.felix.framework-5.4.0.jar:] at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:486)[org.apache.felix.framework-5.4.0.jar:] at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4541)[org.apache.felix.framework-5.4.0.jar:] at org.apache.felix.framework.Felix.startBundle(Felix.java:2172)[org.apache.felix.framework-5.4.0.jar:] at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:998)[org.apache.felix.framework-5.4.0.jar:] at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:984)[org.apache.felix.framework-5.4.0.jar:] at org.apache.karaf.features.internal.service.FeaturesServiceImpl.startBundle(FeaturesServiceImpl.java:1262)[7:org.apache.karaf.features.core:4.0.5] at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:840)[7:org.apache.karaf.features.core:4.0.5] at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1152)[7:org.apache.karaf.features.core:4.0.5] at org.apache.karaf.features.internal.service.FeaturesServiceImpl$1.call(FeaturesServiceImpl.java:1048)[7:org.apache.karaf.features.core:4.0.5] at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_60] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_60]
[jira] [Created] (AMQ-5922) ActiveMQ OSGi metadata excludes compatibility with Spring 4.X
Seth Leger created AMQ-5922: --- Summary: ActiveMQ OSGi metadata excludes compatibility with Spring 4.X Key: AMQ-5922 URL: https://issues.apache.org/jira/browse/AMQ-5922 Project: ActiveMQ Issue Type: Bug Components: OSGi/Karaf Affects Versions: 5.10.0 Reporter: Seth Leger Priority: Critical The OSGi metadata for ActiveMQ should be updated to include Spring 4.X in the version range. Despite the fact that Spring no longer includes OSGi metadata in their own 4.X packages, Apache Servicemix repackages Spring 4.X so that it can be used in OSGi containers like Apache Karaf. This change is necessary in order for projects with Spring 4.X to coexist in the same Apache Karaf container where ActiveMQ is running as a bundle/Karaf feature. This change has already been made in the activemq-camel submodule. I've submitted the change as a pull request on the github mirror of ActiveMQ: https://github.com/apache/activemq/pull/121 -- This message was sent by Atlassian JIRA (v6.3.4#6332)