Products | Versions |
---|---|
TIBCO ActiveMatrix BusinessWorks | - |
Not Applicable | - |
Resolution:
Description:
============
When Queue receiver is configured with XA transaction it does not receive messages from MQ. The following error message is reported:
WebSphere MQ classes for JMS attempted to perform an MQGET; however WebSphere MQ reported an error. Use the linked exception to determine the cause of this error.
Environment:
===========
BW 5.9 & above, MQ 7.0
Symptoms:
========
The following error message will be reported during the message retrieval.
2013 Jun 18 17:17:41:928 GMT -4 BW.TEST Error [BW-Plugin] BW-JMS-100020 There was an error when attempting to receive a message.
com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ2002: Failed to get a message from destination 'EQUITY.ZEUS_QM1.DV'. WebSphere MQ classes for JMS attempted to perform an MQGET; however WebSphere MQ reported an error. Use the linked exception to determine the cause of this error.
at com.ibm.msg.client.wmq.common.internal.Reason.reasonToException(Reason.java:608)
at com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:236)
at com.ibm.msg.client.wmq.internal.WMQMessageConsumer.checkJmqiCallSuccess(WMQMessageConsumer.java:128)
at com.ibm.msg.client.wmq.internal.WMQConsumerShadow.getMsg(WMQConsumerShadow.java:1285)
at com.ibm.msg.client.wmq.internal.WMQSyncConsumerShadow.receiveInternal(WMQSyncConsumerShadow.java:233)
at com.ibm.msg.client.wmq.internal.WMQConsumerShadow.receive(WMQConsumerShadow.java:1009)
at com.ibm.msg.client.wmq.internal.WMQMessageConsumer.receive(WMQMessageConsumer.java:459)
at com.ibm.msg.client.jms.internal.JmsMessageConsumerImpl.receiveInboundMessage(JmsMessageConsumerImpl.java:765)
at com.ibm.msg.client.jms.internal.JmsMessageConsumerImpl.receive(JmsMessageConsumerImpl.java:446)
at com.ibm.mq.jms.MQMessageConsumer.receive(MQMessageConsumer.java:258)
at com.tibco.plugin.share.jms.impl.JMSReceiver$SessionController.run(JMSReceiver.java:828)
Caused by: com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2009' ('MQRC_CONNECTION_BROKEN').
at com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:223)
... 9 more
Cause:
=====
When using XA transaction, a xa_start() should be called before calling a receive(). This situation will happen when a receive() is called before xa_start().
Resolution:
==========
Enable the precreate transaction option under advanced tab in Queue Receiver.