有 2 台服务器(amq1、amq2)部署了 ActiveMQ。创建队列的服务位于第三台服务器上。
在我指定的连接设置中spring.activemq.broker-url: failover:(ssl://amq1:61616,ssl://amq1:61616)
两台服务器都正常工作并且不会丢失连接。
问题是该服务首先按优先级连接到amq1,但有时会更改连接到amq2,然后又回到第一个。日志中没有消息表明与 amq1 的连接已丢失。
INFO 24003 --- [ActiveMQ Task-1] o.a.a.t.failover.FailoverTransport : Successfully connected to ssl://amq2:61616
INFO 24003 --- [ActiveMQ Task-1] o.a.a.t.failover.FailoverTransport : Successfully connected to ssl://amq2:61616
INFO 24003 --- [ActiveMQ Task-1] o.a.a.t.failover.FailoverTransport : Successfully connected to ssl://amq1:61616
ERROR 24003 --- [http-nio-127.0.0.1-8080-exec-4] r.o.RestExceptionHandler : dm.exception.ActiveMQException: Failed get JMS response:
INFO 24003 --- [ActiveMQ Task-1] o.a.a.t.failover.FailoverTransport : Successfully connected to ssl://amq2:61616
INFO 24003 --- [ActiveMQ Task-1] o.a.a.t.failover.FailoverTransport : Successfully connected to ssl://amq1:61616
我怎样才能使与 amq2 的连接仅在 amq1 停止响应时才连接?
ps 如果只指定一台amq server,那么当连接消失时,spring默认尝试重连10次。我想在 10 次后更改与 amq2 的连接
必须添加到连接
failover:(ssl://amq1:61616,ssl://amq1:61616)?randomize=false&priorityBackup=true简而言之,然后“按顺序使用优先级,如果代理可用,则始终重新连接”
它来自文档
优先备份=真
随机化=假