I've just noticed a very strange behaviour of MQGET in my application:
When messages are put on Q1 local queue, a CICS transaction is triggered to process the messages (trgtype=first). The transaction issues MQGETs with WaitInterval set to 5 [s], until it processes all messages currently available.
For test purposes I changed WaitInterval to 0 and the transaction does not get any messages off the queue! (it is so coded that it ends right after receiving RC 2033)
Now, in MQSeries trace I saw a couple of times that there is two times more MQGETs than expected. As far as I know, it happens when one uses signaling to wait for messages. But I don't use signaling.
The trigger message is generated when the message is put but the message is not be available for getting until it is comitted so you do need a wait in your program.
Get with Wait works like a get signal under CICS. If a message is not immediately available the adapter puts your CICS task into a CICS wait until it is signaled that a message is available when it internally reissues the get. _________________ Bob Buxton
Ex-Websphere MQ Development
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum