Trigger monitors on UNIX and Windows systems
This topic contains information about trigger monitors provided on UNIX and Windows systems.
The following trigger monitors are provided for the server environment:
- amqstrg0
- This is a sample trigger monitor that provides a subset of the function provided by runmqtrm. See Use the sample programs on Multiplatforms for more information about amqstrg0.
- runmqtrm
- The syntax of this command is runmqtrm [ -m
QMgrName ] [ -q InitQ ], where
QMgrName is the queue manager and InitQ is the initiation queue. The default queue is
SYSTEM.DEFAULT.INITIATION.QUEUE on the default queue manager. It calls programs for the appropriate
trigger messages. This trigger monitor supports the default application type. The command string
passed by the trigger monitor to the operating system is built as follows:
- The ApplId from the relevant PROCESS definition (if created)
- The MQTMC2 structure, enclosed in double quotation marks
- The EnvData from the relevant PROCESS definition (if created)
where ApplId is the name of the program to run as it would be entered on the command line.
The parameter passed is the MQTMC2 character structure. A command string is invoked that has this string, exactly as provided, in double quotation marks, in order that the system command will accept it as one parameter.
The trigger monitor does not look to see if there is another message on the initiation queue until the completion of the application that it has just started. If the application has much processing to do, the trigger monitor might not be able to keep up with the number of trigger messages arriving. We have two options:- Have more trigger monitors running
- Run the started applications in the background
If we have more trigger monitors running, we can control the maximum number of applications that can run at any one time. If you run applications in the background, there is no restriction imposed by IBM MQ on the number of applications that can run.
To run the started application in the background on Windows systems, within the ApplId field, prefix the name of the application with a START command. For example:START ?B AMQSECHA
To run the started application in the background on UNIX, put an & at the end of the EnvData of the PROCESS definition.
Note: Where a Windows path has spaces as a part of the path name, these should be enclosed in quotation marks (") to ensure that it is handled as a single argument. For example,C:\Program Files\Application Directory\Application.exe
. The following is an example of an APPLICID string where the file name includes spaces as a part of the path:START "" /B "C:\Program Files\Application Directory\Application.exe"
The syntax of the Windows START command in the example includes an empty string enclosed in double quotation marks. START specifies that the first argument in quotation marks will be treated as the title of the new command. To ensure that Windows does not mistake the application path for a 'title' argument, add a title string enclosed in double quotation marks to the command before the application name.
The following trigger monitors are provided for the IBM MQ client:
- runmqtmc
- This is the same as runmqtrm except that it links with the IBM MQ MQI client libraries.
- Trigger monitor for CICS
The amqltmc0 trigger monitor is provided for CICS . It works in the same way as the standard trigger monitor, runmqtrm, but you run it in a different way and it triggers CICS transactions.
Parent topic: Trigger monitors