1

我使用 Websphere MQ 作为代理应用程序流中的输入和输出。该流程中还包含 Websphere Transformation Extender Maps。

我想使用 java 在输入队列上发送具有唯一标识符的消息,并在输出队列上接收回复。我应该能够使用该唯一标识符从输出队列中选择消息。

我怎样才能做到这一点?

4

1 回答 1

4

执行此操作的简单方法是使用 CorrelationID。

正在处理请求的应用程序在响应时需要将 MessageID 复制到回复消息的 CorrelationID。请求者应用程序在接收消息时将 CorrelationID 指定为消息选择器,并提供请求消息的 MessageID 作为选择器的值。

如果您打算使用 JMS,那么它会简单得多。使用 JMSMessageID 和 JMSCorrelationID 属性并使用 JMSCorrelationID 作为选择器创建消费者

QueueReceiver queueReceiver = session.createReceiver(destination, "JMSCorrelationID='+ requestMsg.JMSMessageID +"'");

于 2012-04-16T03:58:17.547 回答