根据 MQRFH2 和 USR 属性将消息路由到 IBM MQ 中的不同消息 queues

Route messages to different message queues in IBM MQ based on MQRFH2 and USR properties

如果有人能够assist/provide某种guide/tutorial使用 IBM IIB(集成工具包)和 IBM MQ,利用 MQ 输入节点、计算节点和 MQ 输出,将不胜感激节点,这样当一条消息放在输入 queue 上时,它将根据计算中的 MQRFH2 headers 和 USR 属性 set/defined 路由到输出 queue节点(ESQL 文件)

例如如果 MQRFH2/USR = 1,将消息路由到 Queue 1,如果 MQRFH2/USR = 2,将消息路由到 Queue 2,等等

提前致谢。

请阅读Accessing the MQRFH2 header and Populating Destination in the local environment tree

然后您可以这样编写 ESQL:(假设 RFH2 路由变量命名为 Ker

CREATE COMPUTE MODULE Routing_Compute
    CREATE FUNCTION Main() RETURNS BOOLEAN
    BEGIN
        SET OutputLocalEnvironment.Destination.MQ.DestinationData[1].queueName =
            CASE InputRoot.MQRFH2.usr.Ker
                WHEN '1' THEN 'Q1'
                WHEN '2' THEN 'Q2'
                ELSE 'Q3'
            END;
        RETURN TRUE;
    END;
END MODULE;

记得像这样更改默认节点配置:

  • 计算:将Compute mode设置为LocalEnvironment
  • MQ 输出:将 Destination mode 设置为 Destination List

示例:如果输入消息头 Ker 的值为 2,则它将被路由到队列 Q2.