我在一个队列中有消息,需要发送到其他队列(目标),这两个队列都是活动的MQ。目的地关闭时,消息将在源队列中。我需要连续检查目的地是否正常。如果它已经启动我需要发送到目的地。我在检查目的地可用性方面遇到困难.., 请帮帮我。谢谢..,
答案 0 :(得分:2)
我认为一般来说,使用transactions可以最好地解决这类问题。
我假设您正在使用两个不同的ActiveMQ代理,这导致目标队列无法使用。
在最简单的情况下,您可以通过这种方式实现目标:
示例:
<flow name="simpleExample">
<jms:inbound-endpoint queue="queueA" connector-ref="broker1">
<jms:transaction action="ALWAYS_BEGIN"/>
</jms:inbound-endpoint>
<flow-ref name="doLogic" />
<jms:outbound-endpoint queue="queueB" connector-ref="broker2">
<jms:transaction action="ALWAYS_JOIN" />
</jms:outbound-endpoint>
</flow>
发生回滚时,此方法将立即重试。如果要在再次尝试之前控制等待的时间,请为Broker 1配置redelivery policy on the ActiveMQ connector。