Java ActiveMQ故障转移:如何设置最大重新连接延迟

Java ActiveMQ故障转移:如何设置最大重新连接延迟,java,jms,activemq,Java,Jms,Activemq,我正在使用ActiveMQ(5.7)故障切换。我希望减少应用程序在决定代理无法连接之前等待的最长时间,并转到下一个代理。根据,这可以通过maxReconnectDelay实现,默认值为30000(毫秒)。然而,这似乎不起作用。例如,使用以下命令仍然意味着在尝试一个代理和尝试下一个代理之间有30秒的延迟 failover:(tcp://host1:61616,tcp://host2:61616)?maxReconnectDelay=2000 我是否误解了配置,或者是否存在错误?如何使应用程序更快

我正在使用ActiveMQ(5.7)故障切换。我希望减少应用程序在决定代理无法连接之前等待的最长时间,并转到下一个代理。根据,这可以通过maxReconnectDelay实现,默认值为30000(毫秒)。然而,这似乎不起作用。例如,使用以下命令仍然意味着在尝试一个代理和尝试下一个代理之间有30秒的延迟

failover:(tcp://host1:61616,tcp://host2:61616)?maxReconnectDelay=2000

我是否误解了配置,或者是否存在错误?如何使应用程序更快地尝试第二个代理?

您应该使用每个主机的ConnectionTimeOut属性如下所示:

failover:(tcp://host1:61616?connectionTimeout=1000,tcp://host2:61616connectionTimeout=1000)

这将使到每个已定义主机的连接在一秒钟内超时。

我认为您需要ConnectionTimeout属性Tanks,我将试一试。
maxReconnectDelay
是否仅用于初始连接后的故障转移延迟?@Spycho“我们在两次重新连接尝试之间等待的最长时间(毫秒)”