[
https://issues.apache.org/jira/browse/QPIDJMS-400?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16541568#comment-16541568
]
ASF GitHub Bot commented on QPIDJMS-400:
----------------------------------------
Github user Alex-Vol-SV commented on the issue:
https://github.com/apache/qpid-jms/pull/20
We are using the qpid-jms client as the primary dependency in a Felix
container. The change fixed the activation issue for what its worth. The
"Optional" flag does not mean the activation does not happen, it means if is
not required to happen if it cannot be activated. The error is actually very
telling, it complains about the required bundle kqueue on the platform it
cannot be activated.
After the change the epoll bundle remains activated and the kqueue bundle
is not activated which results in a running system.
FYI, attempting to exclude the transitive dependency on the kqueue jar so
only the epoll jar is available in the bundle does not fix the problem, the
OSGI container again complains about the missing kqueue dependency because the
OSGI manifest "requires" the bundle to be present.
> 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: [email protected]
For additional commands, e-mail: [email protected]