场景如下:
QM1、QM2、QM3都处在一个MQ集群之内,其中QM3上有一个集群队列QueueRequest作为请求消息队列,QM1、QM2上各有一个集群队列,都命名为QueueResponse。 应用A通过连接队列管理器QM1往QM3上的集群队列QueueRequest内发送请求消息;应用B通过连接队列管理器QM2也往QM3上的集群队列QueueRequest内发送请求消息;应用C作为服务提供方连接QM3从QueueRequest内取请求消息并处理后给回响应消息(约定:应用A只允许连接QM1;应用B只允许连接QM2;应用C只允许连接QM3)。
现在的问题是,应用C在只连接队列QM3的情况下,如何让对于应用A的响应消息回到QM1的QueueResponse内,让对于应用B的响应回到QM2的QueueResponse内.
------解决方案--------------------
MQ 消息头(MQMD),有2个字段,ReplyToQ(回复消息队列的名称)、ReplyToQMgr(回复消息队列所在队列管理器的名称),设置者2个字段去试试吧
------解决方案--------------------
2楼说的有道理,对于请求应答模式,每条MQ请求消息MsgID是消息的唯一标示,在MQMD域里面可以看到,应答时correlID=MsgID 就可以标记这条应答消息是针对哪条请求而发的。同时ReplyToQ(回复消息队列的名称)、ReplyToQMgr可以控制消息往哪去
------解决方案--------------------
我试了下,没有生效,4L知道具体如何设置才能生效么?谢谢