【发布时间】:2015-01-18 18:16:25
【问题描述】:
我想使用可以读取 JMS 消息的 Mule、ActiveMQ 来实现消费者类型的行为……有一些第三方队列/主题。需要订阅它们并开始收听。我怎样才能在骡子中实现这一目标?
【问题讨论】:
我想使用可以读取 JMS 消息的 Mule、ActiveMQ 来实现消费者类型的行为……有一些第三方队列/主题。需要订阅它们并开始收听。我怎样才能在骡子中实现这一目标?
【问题讨论】:
按照this blog post 中的说明获取工作连接器。如果您使用的是 JMS1.1,您甚至不需要指定队列或主题,它们的行为将相同。如果您使用的是 1.0b,请确保指定正确的类型。
然后,不要使用出站端点,而是使用入站端点:
<jms:inbound-endpoint topic="myTopic" connector-ref="Active_MQ" />
不过,我推荐使用Anypoint Studio,它会为您提供一个非常简单的界面来进行此类配置。
【讨论】:
要从 activemq 队列 ot 主题中读取消息,可以简单地放入您的流程中,例如:
<flow name="insert-operation" doc:name="insert-operation" doc:description="">
<jms:inbound-endpoint connector-ref="Active_MQ" exchange-pattern="request-response" queue="insert-jms" doc:name="JMS">
<idempotent-redelivery-policy idExpression="#[message.inboundProperties['JMSMessageID']]" />
<xa-transaction action="ALWAYS_BEGIN" />
</jms:inbound-endpoint>
...
</flow>
【讨论】: