[ https://issues.apache.org/jira/browse/QPIDJMS-400?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16530647#comment-16530647 ]
ASF GitHub Bot commented on QPIDJMS-400: ---------------------------------------- GitHub user Alex-Vol-SV opened a pull request: https://github.com/apache/qpid-jms/pull/20 Issue QPIDJMS-400: Add missing OSGI resolution:=optional to native tr… …ansports The packages io.netty.channel.epoll and io.netty.channel.kqueue need to be marked as optional since only one of them can be activated at a time depending on the target platform of choice. The OSGI system fails to activate the bundle that does not match the platform where the client is deployed and fails the application activation that attempts to use it. You can merge this pull request into a Git repository by running: $ git pull https://github.com/simplivity/qpid-jms bugfix/QPIDJMS-400 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/qpid-jms/pull/20.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #20 ---- commit ac80df9dc0175ab84ec396cef20d8c4faf436d44 Author: Alex Volanis <alexander.volanis@...> Date: 2018-07-03T00:53:16Z Issue QPIDJMS-400: Add missing OSGI resolution:=optional to native transports The packages io.netty.channel.epoll and io.netty.channel.kqueue need to be marked as optional since only one of them can be activated at a time depending on the target platform of choice. The OSGI system fails to activate the bundle that does not match the platform where the client is deployed and fails the application activation that attempts to use it. ---- > qpid-jms-client OSGI metadata should use resolution:="optional" for > io.netty.channel.epoll and io.netty.channel.kqueue > ---------------------------------------------------------------------------------------------------------------------- > > Key: QPIDJMS-400 > URL: https://issues.apache.org/jira/browse/QPIDJMS-400 > Project: Qpid JMS > Issue Type: Bug > Components: qpid-jms-client > Affects Versions: 0.34.0 > Environment: Java 8 > Ubuntu 14.04 LTS > > Reporter: Alexander Volanis > Priority: Major > > Attempting to use the qpid-jms-client JAR as a dependency of an application > bundle in Apache Felix container results in the following error and failure > to activate qpid-jms bundle: > {quote}ERROR: Bundle org.apache.qpid.jms.client [36] Error starting > file:/var/tmp/build/java/dispatcher/qpid-jms-client-0.34.0.jar > (org.osgi.framework.BundleException: Unable to resolve > org.apache.qpid.jms.client [36](R 36.0): missing requirement > [org.apache.qpid.jms.client [36](R 36.0)] osgi.wiring.package; > (&(osgi.wiring.package=io.netty.channel.kqueue)(version>=4.1.0)(!(version>=4.2.0))) > Unresolved requirements: [[org.apache.qpid.jms.client [36](R 36.0)] > osgi.wiring.package; > (&(osgi.wiring.package=io.netty.channel.kqueue)(version>=4.1.0)(!(version>=4.2.0)))]) > {quote} > This is on a Ubuntu host where the correct native transport would be the > io.netty.channel.epoll package. The io.netty.channel.kqueue is appropriate > when the host is MacOSX. > On a hunch I patched the JAR file to add the missing resolution:="optional" > to both the io.netty.channel.epoll and io.netty.channel.kqueue packages. As > soon as I tried with my patched JAR file the bundles deployed and activated > with the epoll bundle being selected automatically. No more activation errors. -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org