Hi Servicemix Users, triggered by a providers update of tibco JMS we're looking into getting JMS 2.0 running in the container. Currently camel-jms, spring-jms and activemq (plus camel-activemq) all run on JMS 1.1 api provided by org.apache.geronimo.specs/geronimo-jms_1.1_spec/1.1.1 (I will come back to this). Looking at Camel there will be JMS 2.0 support with camel-sjms ( https://issues.apache.org/jira/browse/CAMEL-9508) but feature still requires JMS 1.1 api.
We have a custom in-house camel jms component based on previous ServiceMix 3.4 binding component and I looked into upgrading it to use JMS 2.0. I started by deploying javax.jms/javax.jms-api/2.0.1 and this leads to major issues in the container. The initial resolution is fine but upon container restart, all ServiceMix provided ActiveMQ and Camel-JMS related bundles go into "INSTALLED" state. This left me puzzled until I saw that geronimo-jms spec declares Import-Package javax.jms;version="1.1" which is interpreted as right-open range (version="[1.1,]"). As a result it imports and re-exports javax.jms version 2.0 provided by the separate API bundle. I think this breaks modularity and prevents me from running multiple jms apis and providers. Is this intended or a bug of the geronimo jms bundle configuration? Thanks and Best Regards, Michael
