[ 
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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to