【问题标题】:Mule request-reply consuming all the messages in the JMS reply queueMule request-reply 消耗 JMS 回复队列中的所有消息
【发布时间】:2014-04-03 11:10:04
【问题描述】:

在 Mule Request-Reply 模式中,JMS 入站端点正在使用队列中的所有消息。 我怎样才能避免骡子的这种行为。 这是我的流程

<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 无关。 任何帮助表示赞赏。

【问题讨论】:

    标签: mule


    【解决方案1】:

    尝试在 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 启动时创建的。
    • 好吧,那么这很糟糕:(我的最后一个想法是尝试是否可以使用来自github.com/mulesoft/mule-module-requesterrequester 来代替jms:inbound-endpoint。这样,MEL 表达式将每次调用时都会对其进行评估。如果这不起作用,那么答案是否定的:request-reply 会消耗回复队列中的所有内容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-08
    • 2015-02-25
    • 2017-08-22
    • 1970-01-01
    • 1970-01-01
    • 2020-04-04
    • 1970-01-01
    相关资源
    最近更新 更多