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 09:58:00 GMT

    [ https://issues.apache.org/jira/browse/QPIDJMS-400?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16541413#comment-16541413
] 

ASF GitHub Bot commented on QPIDJMS-400:
----------------------------------------

Github user gemmellr commented on the issue:

    https://github.com/apache/qpid-jms/pull/20
  
    I agree the Travis CI OSX failure is unrelated. There isn't a way to trigger a new build
on the github mirror without updating the PR.
    
    I don't think this change is actually quite the way to go. The 'optional' flag was not
missing for the epoll bits since the codebase actually needs the epoll classes by default,
its used by default and the 'is epoll functionality available currently' checking exists in
that code. The kqueue bits are not used by default and so perhaps that could be marked optional.
    
    Regardless, there are actually two variants of the jars published, a classified platform-specific
one, and a non-classified neutral one that doesn't actually contain the native libs but still
provides the Java code. Which were you trying to use?


> 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