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.