I am trying to connect to a websphere MQ queue manager from a camel route deployed as an OSGI bundle on Apache Service Mix.
I have deployed the IBM OSGI bundles that come with Websphere MQ and configured the Spring configuration as per below:-
<route>
....
<to uri="websphere-mq:queue:TOMTEST" />
</route>
<bean id="websphere-mq" class="org.apache.camel.component.jms.JmsComponent">
<property name="connectionFactory">
<bean class="com.ibm.mq.jms.MQQueueConnectionFactory">
<property name="transportType">
<util:constant static-field="com.ibm.mq.jms.JMSC.MQJMS_TP_CLIENT_MQ_TCPIP" />
</property>
<property name="hostName" value="...hostname..." />
<property name="port" value="...port..." />
<property name="queueManager" value="...qm..." />
<property name="channel" value="...channel..." />
<property name="useConnectionPooling" value="true" />
</bean>
</property>
</bean>
At runtime I'm getting this error => java.lang.ClassNotFoundException: javax.net.ssl.HandshakeCompletedListener not found by com.ibm.msg.client.osgi.wmq
None of the IBM bundles import javax.net.ssl and I can't really re-bundle them?
Has anyone managed to get a connection working to WMQ from servicemix/fuse - 4 ?
Any help is much appreciated.
Many thanks in advance, Tom
Was answered here http://fusesource.com/forums/message.jspa?messageID=13274 . Pasting it below:
Tom,
OK, something else to try... sometimes when dealing with odd classloading issues, it helps to try out another OSGi framework. Felix and Equinox both implement the spec but approach things differently under the hood. So, to try out Equinox instead of Felix open up etc/config.properties and make the following change:
karaf.framework=equinox
Make sure to also delete the "data" dir before start the ESB again.