You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Peter Hicks <pe...@gmail.com> on 2012/07/17 12:34:41 UTC

Using WebSphere MQ JMS connector to bridge queues

All,

I'm trying to bridge queues between WebSphere MQ and ActiveMQ using Camel -
pulling in messages from queues in WMQ to queues in ActiveMQ.

I have a bean configured as follows:

<bean id="wmqServer" class="org.apache.camel.component.jms.JmsComponent">
  <property name="connectionFactory">
    <bean class="com.ibm.mq.jms.MQQueueConnectionFactory">
      <property name="transportType" value="1"/>
      <property name="queueManager" value="${queuemanager}"/>
      <property name="hostName" value="${queuemanagerhostname}"/>
      <property name="port" value="1414"/>
      <property name="channel" value="${redacted}.SVRCONN"/>
    </bean>
  </property>
</bean>

I have one route configured:

  <route>
    <from uri="networkRail: TR_DATA.TO.OTT_A "/>
    <to uri="activemq:NR.TR"/>
  </route>

When running ActiveMQ, I have the following error when retrieving any
messages from the WebSphere MQ system:

   WARN | Setup of JMS message listener invoker failed for destination
'TR_DATA.TO.OTT_A' - trying to recover. Cause: MQJMS1050: The MQRFH2 header
has an incorrect format.
  javax.jms.MessageFormatException: MQJMS1050: The MQRFH2 header has an
incorrect format.

Various posts on the subject suggest adding a targetClient parameter either
to the queue name as "?targetClient=1", or as a MQQueueConnectionFactory
property.  However, neither work - I either errors from ActiveMQ in both
cases.

Can anyone advise what I need to do?  One option that isn't open to me is
to have any changes made on the WebSphere MQ system, which is currently
under a change freeze.  My side, however, isn't.

Kind regards,


Peter