| Author |
Message
|
| sidharth_bora |
Posted: Thu May 10, 2007 9:07 pm Post subject: |
|
|
 Voyager
Joined: 24 Nov 2005 Posts: 87
|
Hi,
for TRIGTYPE=FIRST
When the arrival of a message on a queue causes a trigger message to be put on the initiation queue, then any message that arrives on the same queue within the specified interval does not cause another trigger message to be put on the initiation queue.
what happens to the message which arrives in trigint interval not elapsed period, How do they get processed ? If the piled up message on the triggered queue is processed after the trigint interval is elaspsed one by one, then doesnt it cause a delay ...?
kindly help to clarify my doubt.
regds |
|
| Back to top |
|
 |
| Vitor |
Posted: Fri May 11, 2007 12:16 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
| atheek wrote: |
1. Situation: qdepth =0 and iprocs = 0
Event: New Message comes
Result: New trigger message generated (Irrespective of whether
triginterval has expired or not) |
Yes
| atheek wrote: |
2. Situation: qdepth =0 and iprocs > 0 (queue is serviced)
Event: New Message comes
Result: No trigger message generated (Irrespective of whether triginterval has expired or not)
|
Yes
| atheek wrote: |
3. Situation: qdepth =>0 and iprocs = 0 (queue is not serviced)
Event: Trigger Interval expires
Result: No trigger message generated ( Except in Mainframes as suggested by Peter)
|
Yes, but it means you have an application bug. The application triggered by FIRST should read the queue until empty, with a WAIT interval sufficent to cover trigger interval
| atheek wrote: |
4. Situation: qdepth =>0 and iprocs = 0 (queue is not serviced)
Event: Trigger Interval expires & New Message comes
Result: New trigger message generated |
No, no new message because depth has not gone from 0->1. See my comments above about the queue being left with messages on it by the triggered application. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
| Back to top |
|
 |
| Vitor |
Posted: Fri May 11, 2007 12:18 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
| sidharth_bora wrote: |
| what happens to the message which arrives in trigint interval not elapsed period, How do they get processed ? |
See my comments in a previous post. The originally triggered program should read the queue until empty, waiting until it's sure no more messages will arrive in the specified interval before closing. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
| Back to top |
|
 |
| PeterPotkay |
Posted: Fri May 11, 2007 5:46 am Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7723
|
| Vitor wrote: |
| atheek wrote: |
3. Situation: qdepth =>0 and iprocs = 0 (queue is not serviced)
Event: Trigger Interval expires
Result: No trigger message generated ( Except in Mainframes as suggested by Peter)
|
Yes, but it means you have an application bug. The application triggered by FIRST should read the queue until empty, with a WAIT interval sufficent to cover trigger interval
|
I don't think that an applications Get with Wait Interval should be related to the QM's trigger interval. The Trigger Interval is set at the QM level, and that might not be an appropriate value for all apps to sit and wait on the queue before ending. And / or the MQAdmin may have not altered Trigger Interval from the default of nine 9s.
| Vitor wrote: |
| atheek wrote: |
4. Situation: qdepth =>0 and iprocs = 0 (queue is not serviced)
Event: Trigger Interval expires & New Message comes
Result: New trigger message generated |
No, no new message because depth has not gone from 0->1. See my comments above about the queue being left with messages on it by the triggered application. |
A trigger message will be generated in this case. Its the reason for Trigger Interval. _________________ Peter Potkay
Keep Calm and MQ On |
|
| Back to top |
|
 |
| Vitor |
Posted: Fri May 11, 2007 6:12 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
| PeterPotkay wrote: |
| A trigger message will be generated in this case. Its the reason for Trigger Interval. |
Doh.....  _________________ Honesty is the best policy.
Insanity is the best defence. |
|
| Back to top |
|
 |
| sidharth_bora |
Posted: Sun May 13, 2007 5:40 pm Post subject: |
|
|
 Voyager
Joined: 24 Nov 2005 Posts: 87
|
Vitor Wrote
| Quote: |
| See my comments in a previous post. The originally triggered program should read the queue until empty, waiting until it's sure no more messages will arrive in the specified interval before closing. |
Hi Vitor,
Thanks for clarifying. My concept is now clear. thanks again.
regds
Sid |
|
| Back to top |
|
 |
| atheek |
Posted: Mon May 14, 2007 1:45 am Post subject: |
|
|
 Partisan
Joined: 01 Jun 2006 Posts: 327 Location: Sydney
|
| Thanks Vitor and Peter for confirming the same!! |
|
| Back to top |
|
 |
| jefflowrey |
Posted: Mon May 14, 2007 11:58 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
It's really more complicated than that.
There are like 14 different criteria that are checked when a message gets put onto a triggered queue. There's a page in the manuals that details all of these criteria, in the order that they're checked. Anyone seeking to understand triggering really needs to read that page and think about it what it says a bit. _________________ I am *not* the model of the modern major general. |
|
| Back to top |
|
 |
|
|