JMS Binding Type("BT") not receiving pending messages from the TIBCO Enterprise Message Service("EMS") queue.
book
Article ID: KB0090394
calendar_today
Updated On:
Products
Versions
TIBCO ActiveMatrix Service Grid
-
TIBCO ActiveMatrix BusinessWorks Service Engine
-
Not Applicable
-
Description
Description: There are pending messages in the EMS queue and JMS-BT is not consuming this messages for services with JMS binding. The EMS queue is showing connections to the JMS binding. Symptoms: JMS-BT is not consuming messages for services with JMS binding. From the EMS queue it can be seen that the connection is established to the JMS binding. Cause:
A possible cause is that pending messages in the queue do not contain the following property.
There is an enhancement request(BJMS-749) filed for JMS-BT to be able to receive a message even when an incoming message does not have the "SCAOperationName" property configured.
Resolution
The enhancement request BJMS-749 is already fixed with options to handle this scenario in TIBCO ActiveMatrix 3.2 and later versions. For the TIBCO ActiveMatrix 3.1.x setup, to resolve this issue, follow these steps:
To Analyse the issue, perform the following steps.
1). Collect the pending messages in the queue. Note: There are sample files available in the EMS installation folder (ems/<version>/samples/java) to get messages in a queue.
Modify tibjmsMsgConsumer.java to set ACKNOWLEDGE_mode to CLIENT_ACKNOWLEDGE and run this application to check the messages without consuming them.
2). Check to see if the collected message contains the following property for JMS:
If the above property is missing then JMS -BT will not receive messages as in the multiple operation scenario. The JMS property scaoperationname needs to be used to sort incoming messages to comply with the SCA specification. This could be the cause for messages pending in the queue though there is a consumer for the queue.