|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Initiation queues |
« View previous topic :: View next topic » |
Author |
Message
|
pazhanikumart |
Posted: Sat Aug 18, 2001 1:26 am Post subject: |
|
|
Apprentice
Joined: 12 Aug 2001 Posts: 32 Location: Chennai,India
|
Hai all
Is there any specific way to make a initiation queue,for example Q1 or is it just enough to give the name of the queue in the TRIGGER INITQ(Q1) parameter while creating a queue for triggering .?
will this make Q1 as an initiation queue or is there any procedures to make?
Thanks !!!!!
_________________ In the end everything is Right ,If it's not then it's not the end |
|
Back to top |
|
 |
bduncan |
Posted: Sat Aug 18, 2001 6:40 pm Post subject: |
|
|
Padawan
Joined: 11 Apr 2001 Posts: 1554 Location: Silicon Valley
|
Yes, any queue can be an initiation queue. In your example, Q1 doesn't need any additional parameters aside from the ones necessary to create a local queue. However, nothing will happen unless you have a trigger monitor watching your newly created initiation. It is what picks the trigger messages up off the initiation queue and executes the program specified in the trigger message.
Also, keep in mind that a single initiation queue can handle all the triggered queues on a queue manager. In other words, specify SYSTEM.DEFAULT.INITIATION.QUEUE as the INITQ parameter for all of your triggered queues, make sure a trigger monitor is running against it, and ensure that your PROCESS definitions launch the programs in the background (otherwise the trigger monitor will get tied up running one of your triggered processes holding the others up)...
_________________ Brandon Duncan
IBM Certified MQSeries Specialist
MQSeries.net forum moderator |
|
Back to top |
|
 |
pazhanikumart |
Posted: Mon Aug 20, 2001 1:49 am Post subject: |
|
|
Apprentice
Joined: 12 Aug 2001 Posts: 32 Location: Chennai,India
|
Thanks bduncan,I created the Trigger application and its working fine .when we create the process definition ,if we are to run a class file ,Is it enough to give the APPLICID() parameter like the following
"java exeuteThis".If we are going to execute like this ,in what path should we place our applications so that they are visible to mqseries?(I now placed the application in C: )
Thanks!!!
_________________ In the end everything is Right ,If it's not then it's not the end |
|
Back to top |
|
 |
bduncan |
Posted: Mon Aug 20, 2001 3:19 am Post subject: |
|
|
Padawan
Joined: 11 Apr 2001 Posts: 1554 Location: Silicon Valley
|
Typically, whatever is supplied in the APPLICID field is passed to the command line, just as though you had typed it yourself. For this reason, I advise writing a .BAT or .sh script (depending on your platform) as a wrapper, and this will call your actual program. This way, you can set up any necessary environment variables, change working directories, etc... Otherwise your question about saying "java this" as the APPLICID should work just fine assuming that "java" is within path. "this" needs to be in the working directory, and I believe that is the directory that the trigger monitor was launched from. Since this can vary, I always try to put a fully qualified path, so it would look something like:
APPLICID('java c:javacodetest')
_________________ Brandon Duncan
IBM Certified MQSeries Specialist
MQSeries.net forum moderator |
|
Back to top |
|
 |
zsanjana |
Posted: Fri Nov 02, 2001 4:33 pm Post subject: |
|
|
Newbie
Joined: 01 Nov 2001 Posts: 5 Location: California, US
|
Hi bduncan,
I'm also trying to setup a trigger monitor on an initiation q, which is not the SYSTEM.DEFAULT.....,it has a process attached to the q Manager to which the q is attached to. Now, on the 400 I have my own program , which I need to invoke in case of *every/*all messages coming into this initiation q. How do I do it???
Suggestions would be really helpful !!!
Thanks,
Zubin.
[ This Message was edited by: zsanjana on 2001-11-02 16:34 ] |
|
Back to top |
|
 |
bduncan |
Posted: Mon Nov 05, 2001 10:35 am Post subject: |
|
|
Padawan
Joined: 11 Apr 2001 Posts: 1554 Location: Silicon Valley
|
Zubin,
I would recommend reading Chapter 14 from the MQSeries Application Programming Guide, titled "Starting MQSeries applications using Triggers." Here is a link to the HTML version:
http://www-4.ibm.com/software/ts/mqseries/library/manualsa/csqzal05/csqzal05tfrm.htm
In a nutshell, you need to alter the following parameters on those queues you want to trigger off of:
TRIGGER
TRIGTYPE(FIRST)
TRIGDPTH(1)
INITQ('name of initiation queue')
PROCESS('name of process')
This will cause the queue manager to create a trigger message whenever the first message arrives on an empty queue. But what is in the trigger message? Well, the last parameter, PROCESS, is the name of an object you create using the DEFINE PROCESS command in runmqsc, and it contains the information necessary to allow the queue manager to launch your particular application. Again, look in the Guide to see the specifics for this object, but here's an example:
DEFINE PROCESS(MYAPP.TRIGGER) +
APPLTYPE(UNIX) +
APPLICID('/usr/sbin/netstat -a > /tmp/test.out')
Which when triggered, should leave a file in the /tmp directory containing the output of a netstat command. Hope this gets you started...
_________________ Brandon Duncan
IBM Certified MQSeries Specialist
MQSeries.net forum moderator |
|
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
|
|
|
|