ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » General IBM MQ Support » Channel Triggering and Program Triggering Diff?

Post new topic  Reply to topic
 Channel Triggering and Program Triggering Diff? « View previous topic :: View next topic » 
Author Message
issac
PostPosted: Sat Oct 04, 2008 10:58 pm    Post subject: Channel Triggering and Program Triggering Diff? Reply with quote

Disciple

Joined: 02 Oct 2008
Posts: 158
Location: Shanghai

Quite unexpectedly I found two entries in MQ Must Gather, one is channel triggering and the other is program triggering.

I guess what I knew about is the program one. That is ,
1. define an initial queue for QMGR to put meta-data into;
2. define a process for trigger monitor to run once triggered;
3. define a qlocal with trigger type, initial queue name, process name which i just defined;
4. start runmqtrm(i think runmqtrm is the long running channel initiator program) to monitor if the initial queue has been put something into, and run the process if it does.

so what is channel trigger? i looked through the official doc http://publib.boulder.ibm.com/infocenter/wmqv6/v6r0/index.jsp?topic=/com.ibm.mq.csqzae.doc/ic10580_.htm but still gets no idea. Because I think this article is exactly describing what program triggering is, not the channel-triggering thing. But it's been titled this way. These 2 concepts sound too much similar for me.

anyone gets more material explaining what channel-triggering is ? thanks[/list]
Back to top
View user's profile Send private message
issac
PostPosted: Sun Oct 05, 2008 5:07 pm    Post subject: Reply with quote

Disciple

Joined: 02 Oct 2008
Posts: 158
Location: Shanghai

i think here is the answer: http://www.mqseries.net/phpBB2/viewtopic.php?t=836

thanks for your help~
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Sun Oct 05, 2008 8:05 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

No triggering channels is not so different from trigerring programs.

However instead of running runmqtrm you run runmqchi (channel initiator).
Also the channel initiatior is automatically started on SYSTEM.CHANNEL.INITQ by the qmgr at startup. In older times you needed a process. No longer since V5.3.

The trigdata of the xmitq contains the channel name to be triggered. If the field is blank the channel initiator will try to start the first channel having the queue as xmitq...

Enjoy
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
zhanghz
PostPosted: Mon Oct 06, 2008 1:01 am    Post subject: Reply with quote

Disciple

Joined: 17 Jun 2008
Posts: 186

MQ has only one type of triggering. After some messages are put on a local queue, you want these messages to be processed automatically, so you use triggering.

triggering is set on a local queue by setting at least 5 attributes: TRIGGER, TRIGTYPE, TRIGDEPTH, PROCESS, INITQ. Other attributes related to triggering are TRIGMPRI, TRIGDATA. Once the 5 attributes are set accordingly, when there is a message in the queue and trigger condition is met, a program defined in PROCESS will be triggered to process the messages in the queue.

of course, triggering also needs a trigger monitor program to be always running, monitoring the INITQ continously for trigger messages.

MQ comes with 2 trigger monitoring programs, one is the trigger monitor that is invoked by program "runmqtrm", the other one is the channel initiator that automatically runs when QMGR is started or can be invoked by program "runmqchi" or MQRC command 'start chinit'.

trigger monitor invoked by "runmqtrm" monitors for messages put to NORMAL local queues, triggers the program defined the PROCESS to process messages. Channel initiator monitors for messages put to XMITQ queues, triggers MCA user to pick up the message in XMITQ and send out to the target QMGR, in doing so, MCA user starts the CHANNEL if the CHANNEL is in INACTIVE status.

More info can be found in section 6.3 (triggering) and 7.4.13 (channel initiation) of redbook SG24-7128-00 "MQ V6 Fundementals", or page 19-20 of book "MQSeries Primer".
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » General IBM MQ Support » Channel Triggering and Program Triggering Diff?
Jump to:  



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
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.