我使用 Websphere MQ 作为代理应用程序流中的输入和输出。该流程中还包含 Websphere Transformation Extender Maps。
我想使用 java 在输入队列上发送具有唯一标识符的消息,并在输出队列上接收回复。我应该能够使用该唯一标识符从输出队列中选择消息。
我怎样才能做到这一点?
执行此操作的简单方法是使用 CorrelationID。
正在处理请求的应用程序在响应时需要将 MessageID 复制到回复消息的 CorrelationID。请求者应用程序在接收消息时将 CorrelationID 指定为消息选择器,并提供请求消息的 MessageID 作为选择器的值。
如果您打算使用 JMS,那么它会简单得多。使用 JMSMessageID 和 JMSCorrelationID 属性并使用 JMSCorrelationID 作为选择器创建消费者
QueueReceiver queueReceiver = session.createReceiver(destination, "JMSCorrelationID='+ requestMsg.JMSMessageID +"'");