Trigger monitors on IBM i
On IBM® i, instead of the runmqtrm control command, use the IBM MQ for IBM i CL command STRMQMTRM.
STRMQMTRM INITQNAME(InitQ) MQMNAME(QMgrName)
Details are as for runmqtrm.
- AMQSTRG4
- This is a trigger monitor that submits an IBM i job for the process that is to be started, but this means that there is additional processing associated with each trigger message.
- AMQSERV4
- This is a trigger server. For each trigger message, this server runs the command for the process in its own job, and can call CICS® transactions.
Both the trigger monitor and the trigger server pass an MQTMC2 structure to the programs that they start. For a description of this structure, see MQTMC2. Both of these samples are delivered in both source and executable forms.
Because these trigger monitors can invoke only native IBM i programs, they cannot trigger Java programs directly, because Java classes are located in the IFS. However, Java programs can be triggered indirectly by triggering a CL program that then invokes the Java program and passes across the TMC2 structure. The minimum size of the TMC2 structure is 732 bytes.
PGM PARM(&TMC2)
DCL &TMC2 *CHAR LEN(800)
ADDENVVAR ENVVAR(TM) VALUE(&TMC2)
QSH CMD('java_pgmname $TM')
RMVENVVAR ENVVAR(TM)
ENDPGM
The following trigger monitor program is provided for the IBM MQ MQI client: RUNMQTMC
CALL PGM(QMQM/RUNMQTMC) PARM('-m' QMgrName '-q' InitQ)