Gary Tully created QPID-6352:
--------------------------------

             Summary: ServiceLoader causes problems in OSGI
                 Key: QPID-6352
                 URL: https://issues.apache.org/jira/browse/QPID-6352
             Project: Qpid
          Issue Type: Improvement
          Components: JMS AMQP 1.0 Client
    Affects Versions: 0.30
         Environment: karaf 2.4.1
            Reporter: Gary Tully


The client currently does not run in karaf. There is some support for 
serviceLoader in later versions of osgi, but I don't know of any container that 
supports that at the moment.
0.26 did not use a service loader in this way so the activemq test worked with 
that version.

The simplest workaround is to use a fragment to relate the two jars together so 
that the service loader will work.
This can be seen at: 
https://github.com/apache/activemq/blob/trunk/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQAMQPBrokerFeatureTest.java#L38

where the qpid-amqp-1-0-client binds (share the bundle classloader of) 
qpid-amqp-1-0-client-jms

Maybe just document that and let the wrap deployer in karaf do the work of 
adding osgi manifest entries on the fly as that test does. That is the simplest 
answer but may be karaf specific.
Or add in osgi header info to make the fragment association explicit
or bundle the two jars together with some osgi metadata.
The latter two will require some osgi testing.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to