我需要联系请求和回复信息。我需要向MQ(REQUEST.QUEUE)发布一条消息,并使用来自应答队列(REPLY.QUEUE)的回复消息。我正在使用MuleSoft IBM发布-消费操作发布消息。我还在发布-消费配置中指定了一个应答队列,因为应答进入了应答队列。我还设置了“请求-回复-模式”,但它似乎没有使用正确的信息。我的要求是发布一个具有唯一id(message_id或correlation_Id)的消息,这样我就可以使用相同的message_id或correlation_Id来使用该消息的答复。我可以使用任何自定义Id,但我需要确保当我使用它时,我不会使用回复队列中的任何随机消息。它必须是回复消息,这是我发布消息的结果。这是一个同步过程,因此我需要发送和接收与特定事务相关联的消息。
下面是发布-消费操作符的配置。我能够发布消息,但使用者正在读取任何已位于回复队列中的随机消息。
<ibm-mq:publish-consume doc:name="Publish consume" doc:id="86294ec7-6559-427f-8c80-eafa4b458a50" requestReplyPattern="CORRELATION_ID" config-ref="IBM_MQ_Config" destination="REQUEST.QUEUE">
<ibm-mq:message>
<ibm-mq:reply-to destination="REPLY.QUEUE" />
</ibm-mq:message>
<ibm-mq:consume-configuration maximumWait="10" ackMode="IMMEDIATE" maximumWaitUnit="SECONDS" /></ibm-mq:publish-consume>
发布于 2022-10-12 03:31:33
我不认为您可以在相同的流中使用节点,并基于correlationID选择消息。
<flow name="publish-consume-correlation-id">
<ibm-mq:publish-consume config-ref="config"
destination="targetDestination"
requestReplyPattern="CORRELATION_ID">
<ibm-mq:message >
<ibm-mq:reply-to destination="replyToDestination" />
</ibm-mq:message>
</ibm-mq:publish-consume>
</flow>
<flow name="ibm-mq-listener-correlation-id" >
<ibm-mq:listener config-ref="config" destination="replyToDestination">
<ibm-mq:reply-to-response requestReplyPattern="CORRELATION_ID" />
</ibm-mq:listener>
</flow>
https://stackoverflow.com/questions/74035295
复制相似问题