如何解决根据 MQRFH2 和 USR 属性将消息路由到 IBM MQ 中的不同消息队列
如果有人能够协助/提供某种使用 IBM IIB(集成工具包)和 IBM MQ 的指南/教程,利用 MQ 输入节点、计算节点和 MQ 输出节点,我们将不胜感激,这样当消息放在输入队列上,它将根据计算节点(Esql 文件)中设置/定义的 MQRFH2 标头和 USR 属性路由到输出队列
例如如果 MQRFH2/USR = 1,则将消息路由到队列 1,如果 MQRFH2/USR = 2,则将消息路由到队列 2,以此类推
提前致谢。
解决方法
请阅读Accessing the MQRFH2 header和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
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。