Under XA transaction enabled scenario, BW is unable to receive messages from MQ.

Under XA transaction enabled scenario, BW is unable to receive messages from MQ.

book

Article ID: KB0090462

calendar_today

Updated On:

Products Versions
TIBCO ActiveMatrix BusinessWorks -
Not Applicable -

Description

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.

Issue/Introduction

Under XA transaction enabled scenario, BW is unable to receive messages from MQ.