Mule请求-应答使用JMS应答队列中的所有消息
在Mule请求-应答模式中,JMS入站端点正在使用队列中的所有消息。 我怎样才能避免骡子的这种行为。 这是我的流程Mule请求-应答使用JMS应答队列中的所有消息,mule,Mule,在Mule请求-应答模式中,JMS入站端点正在使用队列中的所有消息。 我怎样才能避免骡子的这种行为。 这是我的流程 <request-reply timeout="100000"> <jms:outbound-endpoint queue="request" connector-ref="Active_MQ" exchange-pattern="one-way" doc:name="JMS- REQUEST" disableTempora
<request-reply timeout="100000">
<jms:outbound-endpoint queue="request"
connector-ref="Active_MQ" exchange-pattern="one-way" doc:name="JMS- REQUEST" disableTemporaryReplyToDestinations="false" >
<message-properties-transformer>
<delete-message-property key="MULE_REPLYTO"/>
</message-properties-transformer>
</jms:outbound-endpoint>
<jms:inbound-endpoint queue="reply"
connector-ref="Active_MQ" exchange-pattern="one-way" doc:name="JMS-REPLY"/ >
“回复”队列中的所有消息都已使用,而与相关Id无关。
非常感谢您的帮助。尝试在JMS入站端点上使用选择器:
<jms:inbound-endpoint queue="reply"
connector-ref="Active_MQ" exchange-pattern="one-way"
doc:name="JMS-REPLY"/ >
<jms:selector expression="JMSCorrelationID=#[message.correlationId]"/>
</jms:inbound-endpoint>
我还看到JMS消费者是在mule启动时创建的。好吧,这太糟糕了:(我的最后一个想法是尝试是否可以使用
请求者
来代替jms:inbound endpoint
。这样,每次调用MEL表达式时都会对其求值。如果这不起作用,那么答案是否定的:请求-回复
消耗回复队列中的所有内容。