What you said goes against what the APG states IMHO: "Consequently an application might be started when there are no messages for it to retrieve because the messages on the queue have not been committed".
Nope. My statement doesn't contradict that.
Scenario:
Message 1 is added to a Trigger On First queue. It is not committed. The trigger message is created by the QM to the INIT queue becasue otherwise trigger conditions were met. The trigger message is NOT committed.
Message 2 is added to the same app q. It is also not committed. No new trigger message is generated because the addition of the 2nd message has not met new trigger conditions.
Message 1 is rolled back by the app. The QM commits the trigger message*. The app starts and gets a 2033. Because Message #2 has not been committed yet.
*You may ask yourself why did the QM commit the trigger message if the message that created the trigger condition was rolled back. It has to because additional messages may have landed on the q after message #1. Those additional messages did not create additional trigger messages. If the QM rolled back the one and only trigger message you would have stranded the remaining messages without a trigger.
This is one reason why all triggered apps must be writtem to gracefully handle a 2033 on their first MQGET.
(by the way, please don't put URGENT in the title of posts. Its quite presumptuous.) _________________ Peter Potkay
Keep Calm and MQ On
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