IBM MQ not sending a message to another remote queue manger until the ACE MQ GET Node release the connection

196 views Asked by At

I've created a flow using IBM ACE Enterprise where I add a message to queue in IBM Queue Manager which send it to a remote Queue Manger to be processed and get back to local Queue

the Message flow in ACE Enterprise is as the following

MQ output Node -> MQ Get Node : where message is being sent to a queue by MQ output Node and then MQ Get Node keep listening for the response on another queue

what is happened is that message is stuck in the transmission queue until the MQ Get node is timed out then the queue manger is sent it to the remote queue manger after the MQ Get Node is stop listening

I believe that the issue is related to the channels and the way it is configured but I can't get where is exactly the problem lies

1

There are 1 answers

0
Nine Friends On

The message created by the MQOutput node has not yet been committed by the flow (it will do so, when the current branch of the flow is completed). You see the queue depth being increased, but the message won't be available for processing until the flow is completed. Avoid changing the “Transaction mode” setting of your MQOutput node to “no” without being sure about your transaction requirements. The message would auto-commit and the rest of the flow will not be blocking it anymore – looks nice. Another way would be to leave all nodes to "Automatic" and change the input node' setting of "Transaction Mode" to "No". But it is not my general advice to do so, because it may or may not be the right answer to your problem. Without more detail about your overall intention, it is hard to decide what you need. To give some thoughts to your transaction requirements, search for “Message flow transactions” in the ACE documentation. Also search in ACE documentation for “Receive an MQ request message, pass the message to MQ, and then pass the response from MQ to the requesting client”. It explains a solution where you send a request and receive the reply with full transaction control.