【发布时间】:2011-06-28 00:59:02
【问题描述】:
我在 Java 中使用 ActiveMQ 来记录传入的分析信标。理想情况下,如果队列出现故障或被锁定,我希望尽快失败,在本地记录信标,然后返回客户端而不挂起,然后尝试稍后重新连接。
在使用 ActiveMQ 时,该用例的最佳连接 URI 和 URI 参数是什么?
【问题讨论】:
标签: java message-queue activemq
我在 Java 中使用 ActiveMQ 来记录传入的分析信标。理想情况下,如果队列出现故障或被锁定,我希望尽快失败,在本地记录信标,然后返回客户端而不挂起,然后尝试稍后重新连接。
在使用 ActiveMQ 时,该用例的最佳连接 URI 和 URI 参数是什么?
【问题讨论】:
标签: java message-queue activemq
我建议针对您的情况使用 AMQ 的故障转移传输。例如:试试这种形式的 URL(在 AMQ 5.3 及以上版本中可用):
failover:(tcp://jms.host1:61616,tcp://jms.host2:61616,tcp://jms.host3:61616)?timeout=5000
这只是意味着尝试连接在 jms.host1、jms.host2、jms.host3 上运行的 JMS 代理 5 秒,如果没有可用的连接,则向客户端返回错误。如果您的客户端失去与 jms.host2 的连接,它还将负责自动故障转移以连接到 jms.host1 或 jms.host3。
查看此页面以获取有关故障转移传输的文档:http://activemq.apache.org/failover-transport-reference.html
【讨论】: