|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
MQ Triggering CICS Transaction |
« View previous topic :: View next topic » |
Author |
Message
|
coderunner |
Posted: Thu Jun 28, 2007 5:26 am Post subject: MQ Triggering CICS Transaction |
|
|
Newbie
Joined: 21 Feb 2007 Posts: 7
|
I have a queue with a trigger type of Every, which causes a CICS transaction to be run to process the message in the queue. During the night CICS is closed, but messages could still be put ino the queue from other processes. When CICS is brought-up again in the morning there is an accumulation of messages in the queue. Can triggering be specified to process this backlog of messages?
I've read about triggering in the MQ Application Programming Guide, but it is not clear that what I require can be achieved. |
|
Back to top |
|
 |
Mr Butcher |
Posted: Thu Jun 28, 2007 5:32 am Post subject: |
|
|
 Padawan
Joined: 23 May 2005 Posts: 1716
|
if cics comes up again and ckti is started, a trigger is generated for your queue if it contains messages. this is one of the trigger conditions (if the trigger monitor is started, and the initiation queue is opened, then mq checks if a local queue uses this initq and if all the trigger conditions are met, if so, a trigger is generated).
but - even if you specified trigger every - there is only one trigger message in this special case.
so your transaction is started, but you must make sure it is processing the whole queue..... _________________ Regards, Butcher |
|
Back to top |
|
 |
coderunner |
Posted: Thu Jun 28, 2007 5:42 am Post subject: |
|
|
Newbie
Joined: 21 Feb 2007 Posts: 7
|
Thanks for your reply Mr. Butcher.
I'll try out the method you suggest. The CICS transaction I have written will processes all messages that have been put into the queue.
Cheers. |
|
Back to top |
|
 |
Mr Butcher |
Posted: Thu Jun 28, 2007 10:33 pm Post subject: |
|
|
 Padawan
Joined: 23 May 2005 Posts: 1716
|
do you want your transaction to run parallel during normal processing? if not, you could use trigger first.
if trigger every and 10.000 messages will hit your queue, you will get 10.000 transactions at the "same time" (okay, not all at the same time but you will have many transactions running in parallel). if this is wanted, then you should at least limit the number of transactiony by a transaktion class to prevent cics from being flooded with transactions. _________________ Regards, Butcher |
|
Back to top |
|
 |
coderunner |
Posted: Fri Jun 29, 2007 12:35 am Post subject: |
|
|
Newbie
Joined: 21 Feb 2007 Posts: 7
|
I've tested the solution where CKTI is started as CICS comes-up and it works, it started my transaction which processed the outstanding messages on the queue.
Also I do plan on having the transaction run in parallel with trigger Every. I am expecting a maximum throughput of 800 messages per hour, so I don't think this will flood CICS with concurrent transactions.
Thanks for the advice. |
|
Back to top |
|
 |
Mr Butcher |
Posted: Fri Jun 29, 2007 1:29 am Post subject: |
|
|
 Padawan
Joined: 23 May 2005 Posts: 1716
|
in case of parallel processing - do not forget error situations. e.g. you have a sending mqseries, and the connection is broken. so messages pile up on this mq (because the application is still sending). now the connection is restored after some hours (the guy that did the bad firewall definition was shot) and now you get the 4000 messages from the last 5 hours within one go. now what will your cics do with 4000 transactions being triggered in a few seconds? _________________ Regards, Butcher |
|
Back to top |
|
 |
bob_buxton |
Posted: Fri Jun 29, 2007 1:45 am Post subject: |
|
|
 Master
Joined: 23 Aug 2001 Posts: 266 Location: England
|
coderunner wrote: |
I've tested the solution where CKTI is started as CICS comes-up and it works, it started my transaction which processed the outstanding messages on the queue.
Also I do plan on having the transaction run in parallel with trigger Every. I am expecting a maximum throughput of 800 messages per hour, so I don't think this will flood CICS with concurrent transactions.
Thanks for the advice. |
800 per hour is 13 per minute. Unless you expect the processing of each transaction to take in excess of 5 seconds you will not have a great deal of parallelism and you might as well define your transaction as trigger first with a get wait interval of around 5 seconds. _________________ Bob Buxton
Ex-Websphere MQ Development |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|