根据 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
.
如果有人能够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
.