Jms 如何在mule esb中检查活动MQ是否连续启动?

Jms 如何在mule esb中检查活动MQ是否连续启动?,jms,mule,activemq,Jms,Mule,Activemq,我在一个队列中有消息,需要发送到另一个队列(目的地),这两个队列都是活动的MQs。当目的地关闭时,消息将在源队列中。我需要每隔一段时间检查目的地是否向上。如果它是我需要发送到目的地。我在检查目的地的可用性时遇到困难。。, 请帮帮我,谢谢。我想一般来说,这类问题最好用电脑解决 我假设您使用的是两个不同的ActiveMQ代理,这可能导致目标队列不可用 在最简单的情况下,您可以通过以下方式实现目标: 启动JMS事务 从代理1上的队列A接收消息 执行任何必要的逻辑和/或转换 将消息发布到代理2上的队列B

我在一个队列中有消息,需要发送到另一个队列(目的地),这两个队列都是活动的MQs。当目的地关闭时,消息将在源队列中。我需要每隔一段时间检查目的地是否向上。如果它是我需要发送到目的地。我在检查目的地的可用性时遇到困难。。,
请帮帮我,谢谢。

我想一般来说,这类问题最好用电脑解决

我假设您使用的是两个不同的ActiveMQ代理,这可能导致目标队列不可用

在最简单的情况下,您可以通过以下方式实现目标:

  • 启动JMS事务
  • 从代理1上的队列A接收消息
  • 执行任何必要的逻辑和/或转换
  • 将消息发布到代理2上的队列B
  • 如果成功,提交JMS事务
    • 如果没有,请回滚JMS事务
  • 例如:

    <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配置。

    有重新连接策略。您可以检查它们发送到其他队列是什么意思?它是否从源、进程和发送到下一个队列中进行读取?源和目标是否在同一台服务器上?谁将使用目标队列中的消息?为什么不从源队列读取此使用者?