[IBM i]

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)