java - ActiveMQ 故障转移 : How to set the maximum reconnect delay

标签 java jms activemq

我正在使用 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/

相关文章:

java - 由于 Maven 插件,无法从命令提示符创建 Maven 项目

java - SCons 的替代品是什么?

centos - 如何在 ActiveMQ 集群中持久化数据控制台 [Openshift]

Java路径: Build and absolute path

java - 如果线程失败,函数必须返回 true

php - 是否可以在 Symfony 2 中保护整个 Controller ?

java - Spring Boot @JmsListener 拦截器

java - 如何将 Java JMS 与 MQSeries 一起使用

jms - 如何从 ActiveMQ 代理获取所有消息?

apache-camel - 如何使用 camel-jms 组件将 Artemis 与 Camel Java DSL 一起使用?