Channel triggering vs DISCINT vs Cron script

Ultimately every one what the channels to up and running as and when required for message delivery .There are scenarios where we need to take some decisions for configured correctly as per the environment needs . IBM provides multiple options to play around with the channels like DiscINT parameter , Channel Triggering and lastly using Crontab with the help of custom script to check the channel status and take necessary actions . Let us see some relevant scenario here to get more insight on this .

Scenarios:

We have 2 QMGR point to point setup where QM1 to QM2 there is a SDR channel with DISCINT(0) . We have OS patching recently during that time QM1 was brough down and OS patching is done . 

We have MQ cron to trigger Sender channel start at every 5 Min but on this server Cron was not triggered .

Now there is a plan to enable Channel triggering on the SDR channel transmission queue . Need your advice does channel trigger helps when we have SDR channel with DISCINT(0) . If we enable Channel triggering will there be any advantages or disadvantages on this case ? How it helps and what scenario if so .

Recommendations :

IBM MQ provides a facility for starting an application automatically when certain conditions on a queue are met.

There are 3 trigger conditions:

1)  transmit queue depth change from 0 to 1, the trig type is first

2) every message arrive on transmit queue, the trigg type is every

3) current queue depth of transmit queue change to a specified value.

With channel trigger setting, you don’t need to keep channel running but only start when there’s condition being met, it will help to save system resource consumed by the running channel, most of customer use triggered channel with trig type first in their MQ system based on our experience, but there’s very small chance that you may hit problem with system channel initiator issues.

You can learn more about how MQ trigger work by reviewing IBM KC:

https://www.ibm.com/support/knowledgecenter/SSFKSJ_9.1.0/com.ibm.mq.con.doc/q015730_.html

But for your described scenario, if the remote qmgr down, the sdr channel will get into retry state, then channel shorty retry should play role to restart the channel based on channel parameter SHORTRTY and SHORTTMR.

https://www.ibm.com/support/knowledgecenter/SSFKSJ_9.1.0/com.ibm.mq.ref.con.doc/q082220_.html

Short retry interval (SHORTTMR)

https://www.ibm.com/support/knowledgecenter/SSFKSJ_9.1.0/com.ibm.mq.ref.con.doc/q082210_.html

Short retry count (SHORTRTY)

or if remote qmgr is not available for long time, long retry should play role:

https://www.ibm.com/support/knowledgecenter/SSFKSJ_9.1.0/com.ibm.mq.ref.con.doc/q081920_.html

Long retry count (LONGRTY)

https://www.ibm.com/support/knowledgecenter/SSFKSJ_9.1.0/com.ibm.mq.ref.con.doc/q081930_.html

Long retry interval (LONGTMR)

Further questions represented here .

1)Is there any advantage of having channel triggering when SDR channel DISCINT is 0 ?

>> I don’t think channel trigger help much if you set DISCINT to 0. 

2)as you said when remote QMGR down and Chanel goes to retrying mode .Even if channel retry goes to Long retry count (LONGRTY) & Long retry interval (LONGTMR) since we have a cron entry on the server for every 5 min to trigger start channel(*) . When Remote QMGR is up ,due to cron channel will get start . During this scenario does channel trigger helps in any way ?

>> I don’t think trigger help under such condition if there’s a network issues to cause the channel down, normally it need manually intervention or scripts.

Hopefully it make sense . If you have further queries please comment in this post so that we will address it soon .

Related Posts

Leave a Reply

Your email address will not be published. Required fields are marked *