Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations TouchToneTommy on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

I switched my trigger event to first, but still get a process for all

Status
Not open for further replies.

mqadm

MIS
Jan 7, 2004
1
US
I have a queue that fires a process when a message hits. I originally set it up to fire the trigger for all messages. I end up with allot of extra jobs being kicked off. I switched the Trigger type to *FIRST, ended the queue manager, and restarted the queue manager. I am still finding that a process is being kicked off for every message that hits the queue.

I am running on an AS400.

 
If all the conditions for triggering are met, then triggermon would trigger again and again.
So the question is why is this happening. Check to see who is resetting the trigger conditions. Because without that happening you should not get any triggering happening.



Cheers
KK
 
I've not worked with AS400, but I have worked a lot on 390/zOS mainframe, so I'm not familiar with the monitoring tools avavilable to you...but here's something we found when we had the same the same problem...

When the first message hits, the trigger mon fires. If your process reads the message AND DELETES IT, and is running to completion PRIOR to the arrival of the next message, then the next message is the FIRST and will fire the trigger monitor.

Also, MQ does a wierd thing to compensate for network outages and incorrect applications names in the process def, etc. that it thinks might cause queues not to be opened and read. It puts ANOTHER message on the trigger queue after the time set in TriggerInterval. If that time is set too low, it is VERY possible that FIRST will act just like EVERY, because even though you process the real FIRST message properly, the time set in Trigger Interval has passed so another message is created and fires the process again.

You probably need to get whatever AS400 system monitoring tools are available and watch the entire message flow from arrival to process completion to check the throughput times.

Make sure you are not putting a message back on the trigger queue. (You'd be surprised!) Also, if your process was designed to only process one message, that you make sure ti modify the process to loop through the queue to process any messages that may have arrived AFTER the process was started, or you'll be leaving unread messages on the queue.

Finally, I'd suggest that if you don't have a hard copy of the IBM books, go to the IBM website, download BOOKMANAGER and the soft copy of the IBM MQ Series reference books. They're free!

Hope this helps.
TLogan
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top