【发布时间】: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 条消息
<mulerequester:request-collection config-ref="Mule_Requester" resource="jms://input" doc:name="Mule Requester" count="3"/>
那应该只消耗3条消息....
请帮忙..我在这里做错什么了吗?
【问题讨论】:
标签: jms mule mule-studio