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

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

Github user Alex-Vol-SV commented on the issue:

    https://github.com/apache/qpid-jms/pull/20
  
    I will try that but IMHO using "optional" is the right approach. Lets the 
OSGI dependency system do the right thing automatically without forcing 
developers to play games with the dependency selections. I can create an OSGI 
bundle that works on either platform without having to change its contents. On 
the target host the OSGI container will select the appropriate native transport 
automatically based on its availability.


> 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