You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2018/07/03 00:57:00 UTC
[jira] [Commented] (QPIDJMS-400) qpid-jms-client OSGI metadata
should use resolution:="optional" for io.netty.channel.epoll and
io.netty.channel.kqueue
[ 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 <al...@...>
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-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org