qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (QPIDJMS-400) qpid-jms-client OSGI metadata should use resolution:="optional" for io.netty.channel.epoll and io.netty.channel.kqueue
Date Thu, 12 Jul 2018 12:44:00 GMT

    [ 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: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


Mime
View raw message