![[IBM i]](ngibmi.gif)
IBM i 上的触发器监视器
在 IBM® i上,使用 IBM MQ for IBM i CL 命令 STRMQMTRM代替 runmqtrm 控制命令。
使用 STRMQMTRM 命令,如下所示:
STRMQMTRM INITQNAME(InitQ) MQMNAME(QMgrName)
详细信息与 runmqtrm 的详细信息相同。
还提供了以下样本程序,以便您用作为编写自己的触发器监视器的模型:
- AMQSTRG4
- 这是一个触发器监视器,用于提交要启动的进程的 IBM i 作业,但这意味着存在与每个触发器消息相关联的其他处理。
- AMQSERV4
- 这是触发器服务器。 对于每条触发器消息,此服务器在其自己的作业中运行进程的命令,并且可以调用 CICS® 事务。
触发器监视器和触发器服务器都会将 MQTMC2 结构传递至其启动的程序。 有关此结构的描述,请参阅 MQTMC2。 这两个样本都以源格式和可执行文件格式提供。
由于这些触发器监视器只能调用本机 IBM i 程序,因此它们无法直接触发 Java 程序,因为 Java 类位于 IFS 中。 但是,可以通过触发 CL 程序来间接触发 Java 程序,该 CL 程序随后调用 Java 程序并通过 TMC2 结构传递。 TMC2 的结构的最小大小是 732 个字节。
以下是样本 CLP 的源:
PGM PARM(&TMC2)
DCL &TMC2 *CHAR LEN(800)
ADDENVVAR ENVVAR(TM) VALUE(&TMC2)
QSH CMD('java_pgmname $TM')
RMVENVVAR ENVVAR(TM)
ENDPGM
为 IBM MQ MQI client提供了以下触发器监视器程序 :RUNMQTMC
调用 RUNMQTMC,如下所示:
CALL PGM(QMQM/RUNMQTMC) PARM('-m' QMgrName '-q' InitQ)