【问题标题】:Mule requester is consuming all the messages from JMS queueMule 请求者正在使用 JMS 队列中的所有消息
【发布时间】:2014-11-08 04:54:19
【问题描述】:

我在使用 Mule 请求程序时遇到了一个小问题。 我有以下 Mule 流程:-

 <!-- This flow sends payload to ActiveMQ -->
 <flow name="SendPayloadToActiveMQ" doc:name="mulerequesterdemoFlow1">
 <http:inbound-endpoint exchange-pattern="request-response" address="http://localhost:8088/requester" doc:name="HTTP"/>
 <set-payload value="My Payload" doc:name="Set Payload"/>
 <jms:outbound-endpoint doc:name="JMS" queue="input" connector-ref="Active_MQ"/>
 </flow>

 <!-- This flow consumes 3 payload from ActiveMQ -->
<flow name="CountRequester" doc:name="CountRequester">
 <http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8081" doc:name="HTTP" path="request3messages"/>
 <mulerequester:request-collection config-ref="Mule_Requester" resource="jms://input" doc:name="Mule Requester" count="3"/>
 <logger level="INFO" doc:name="Logger" message="Payload: #[payload]"/>
    </flow>

现在您可以看到第一个流 SendPayloadToActiveMQ 将有效负载发送到 JMS 队列 input 队列,第二个流 CountRequester 将只消费来自 JMS input 队列的 3 条消息.. 但现在的问题是,如果 input 队列中有 6 条消息,那么第二个流程正在消耗队列中的所有 6 条消息,并且队列留空.. 我什至可以在记录器中看到所有六条消息都被消耗了 Payload:org.mule.api.processor.LoggerMessageProcessor: Payload: [My Payload, My Payload, My Payload, My Payload, My Payload, My Payload] 但假设我配置时只消耗 3 条消息 &lt;mulerequester:request-collection config-ref="Mule_Requester" resource="jms://input" doc:name="Mule Requester" count="3"/&gt; 那应该只消耗3条消息.... 请帮忙..我在这里做错什么了吗?

【问题讨论】:

    标签: jms mule mule-studio


    【解决方案1】:

    停止迭代的逻辑曾经有一个错误:https://github.com/mulesoft/mule-module-requester/commit/4ad1fd74b2dc76e1231c246623909f5e4fe4f145#diff-2

    那么你使用的是什么版本的请求者模块?

    编辑:似乎还有另一个错误阻止request-collection 兑现请求的counthttps://github.com/mulesoft/mule-module-requester/issues/9

    要解决此问题,您可以:

    • 自己修复错误(更多的是 while 循环上方的变量初始化)并使用您自己的模块快照。
    • 在一个小的 Groovy 组件中实现相同的逻辑。您可以简单地返回有效载荷的java.util.List,而不是MuleMessageCollection

    【讨论】:

      猜你喜欢
      • 2014-04-03
      • 2016-05-13
      • 1970-01-01
      • 2020-09-06
      • 1970-01-01
      • 1970-01-01
      • 2010-09-20
      • 2013-08-08
      • 2018-01-28
      相关资源
      最近更新 更多