我正在使用 ActiveMQ (5.7) 故障转移。我想减少应用程序在决定无法连接到代理之前等待的最长时间,然后转到下一个代理。根据ActiveMQ fail-over reference ,这可以通过 maxReconnectDelay 来实现,默认为 30,000(毫秒)。然而,这似乎不起作用。例如,使用以下内容仍然意味着尝试一个代理和尝试下一个代理之间有 30 秒的延迟。
failover:(tcp://host1:61616,tcp://host2:61616)?maxReconnectDelay=2000
我是否误解了配置,或者这是有问题的?如何让应用程序更快地尝试第二个经纪人?
最佳答案
您应该每个主机使用 ConnectionTimeOut 属性,如下所示:
failover:(tcp://host1:61616?connectionTimeout=1000,tcp://host2:61616connectionTimeout=1000)
这将使与每个定义的主机的连接在一秒内超时。
关于java - ActiveMQ 故障转移 : How to set the maximum reconnect delay,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14773452/