0

我们正在将消息队列从本地解决方案迁移到 Amazon MQ。每周维护重新启动后,我们带有队列侦听器的 Mulesoft 应用程序无法重新连接到 Amazon MQ 负载均衡器 URL。本地 ActiveMQ 解决方案没有这个问题。

<jms:listener doc:name="Listener" destination="${queue.destination}" config-ref="JMS_CONFIG"/>

<jms:config name="JMS_CONFIG" doc:name="JMS Config">
    <jms:active-mq-connection username="${queue.user.name}" password="${queue.password}">
        <reconnection >
                <reconnect-forever blocking="false" frequency="15000"/>
        </reconnection>
        <jms:factory-configuration brokerUrl="${jms.broker.url}" />
    </jms:active-mq-connection>
</jms:config>

<jms.connector.version>1.7.1</jms.connector.version>
<!-- Tested version 1.7.3 as well. -->

不起作用:

jms.broker.url=ssl://broker-name.domain.net:61617

解决方法:

jms.broker.url=failover:(ssl://worker-1.mq.us-east-1.amazonaws.com:61617,ssl://worker-2.mq.us-east-1.amazonaws.com:61617)

有没有办法让负载均衡器 url 工作?我们希望在两个 Amazon MQ 工作程序之间平衡流量。

4

1 回答 1

1

使用 url 和 worker 解决这个问题failover意味着重新连接被委托给 ActiveMQ JMS 客户端实现而不是 Mulesoft。这表明问题出在 Mulesoft 的重新连接功能上。尝试使用jms.broker.url=failover:(ssl://broker-name.domain.net:61617). 这将是一个更好的解决方法,因为它将使用 Amazon MQ 负载均衡器。

于 2021-03-25T16:00:15.923 回答