Hi Yeah its more a pure OSGi question.
How do you deploy the WebSphere client JARs? And I think others have installed and use WebSphereMQ on SMX/Karaf. So its doable. Check this blog http://lowry-techie.blogspot.com/2010/11/camel-integration-with-websphere-mq.html On Fri, Feb 11, 2011 at 12:08 PM, Olivier.Roger <olivier.ro...@bsb.com> wrote: > > Hello Camel ! > > I am currently trying to configure my route, deployed in Fuse 4.3, to poll > messages from a WebSphere MQ Queue. > > The issue is more related to OSGI than Camel but maybe someone experienced > the same issue before, so I take my chance to post it here... > > The idea is to create a feature that could load the WebSphere 7 thin jms > client bundles and the route which transport messages from WebSphere MQ > queue to an ActiveMQ queue. > > The client jars are the following (from the /runtime directory): > > * com.ibm.ws.ejb.thinclient_7.0.0.jar > * com.ibm.ws.orb_7.0.0.jar > * com.ibm.ws.sib.client.thin.jms_7.0.0.jar > > Here is the JmsComponent configuration: > > <bean id="wasmq" class="org.apache.camel.component.jms.JmsComponent"> > <property name="configuration" ref="wasJmsConfiguration" /> > <property name="destinationResolver" > ref="wasDestinationResolver" /> > </bean> > > <bean id="wasJmsConfiguration" > class="org.apache.camel.component.jms.JmsConfiguration"> > <property name="connectionFactory" ref="wasConnectionFactory" > /> > <property name="concurrentConsumers" value="1" /> > </bean> > > <bean id="wasJndiTemplate" > class="org.springframework.jndi.JndiTemplate"> > <property name="environment"> > <props> > <prop > key="java.naming.factory.initial">com.ibm.websphere.naming.WsnInitialContextFactory</prop> > <prop > key="java.naming.provider.url">${was.jms.broker.url}</prop> > </props> > </property> > </bean> > > <bean id="wasConnectionFactory" > class="org.springframework.jndi.JndiObjectFactoryBean"> > <property name="jndiTemplate" ref="wasJndiTemplate" /> > <property name="jndiName" value="${messaging.cf.jndi.name}" /> > </bean> > > The bundle required some tweaking to have the correct import-packages (might > need more I am afraid): > > <Import-Package> > > org.apache.activemq.camel.component, > > org.apache.camel.component.jms, > > org.apache.servicemix.camel.nmr, > > org.apache.servicemix.nmr.api, > > org.springframework.jndi, > > org.springframework.jms, > > org.springframework.jms.support, > > org.springframework.jms.support.destination, > > org.springframework.beans, > > org.springframework.beans.factory, > org.apache.activemq, > > com.ibm.websphere.naming, > com.ibm.CORBA.iiop, > > com.ibm.ws.sib.api.jmsra.impl, > com.ibm.ejs.j2c, > javax.naming, > javax.naming.spi, > javax.net, > * > </Import-Package> > > Here is the stack I get at Runtime ( > http://camel.465427.n5.nabble.com/file/n3380989/WebSphere.camel.stack.txt > full stack enclosed ) > > Caused by: java.lang.IllegalStateException: Cannot convert value of type > [com.ibm.ws.sib.api.jms.impl.JmsConnectionFactoryImpl] to required type > [javax.jms.ConnectionFactory] for property 'connectionFactory': no matching > editors or conversion strategy found > > I did some googling and according to > http://forum.springframework.org/showthread.php?t=34920 This post , the > cause might be related to the JMS api being present at multiple level in the > classpath... > > I am far from being an OSGi expert and I have some difficulties to see how I > could solve this issue. > -- > View this message in context: > http://camel.465427.n5.nabble.com/OSGi-JmsComponent-config-for-WebSphere-Queue-tp3380989p3380989.html > Sent from the Camel - Users mailing list archive at Nabble.com. > -- Claus Ibsen ----------------- FuseSource Email: cib...@fusesource.com Web: http://fusesource.com Twitter: davsclaus Blog: http://davsclaus.blogspot.com/ Author of Camel in Action: http://www.manning.com/ibsen/