【发布时间】:2014-06-29 12:21:47
【问题描述】:
我正在开展一个项目,旨在测试 Mule 及其针对 IBM Websphere MQ 的功能。我们能够让 WMQ 连接器将消息放在任何给定队列上并在任何给定队列上挑选消息。但是,我们无法将响应消息(在响应队列中)与请求消息(放在请求队列中)关联起来。
假设我们将一条消息放在代表特定数据请求的请求队列中。此消息在离开 Mule 时会获得一个消息 ID。现在,我们想选择最终将在响应队列中可用的相应响应消息。但是,我们只能让 Mule 从这个队列中挑选所有消息(以先进先出的方式)。
IBM Websphere MQ API 有一个类MQQueue,它公开了get() 方法。此方法接受 MQMessage 参数。如果在 MQMessage 实例上设置了 messageId 属性,那么 API 将确保只返回具有此 id 的消息。换句话说,它不会将响应队列视为 FIFO 队列,而是会在队列中查询具有给定 messageId 的消息。
如何让 Mule 以这种方式工作?
【问题讨论】: