java - 如果我想快速失败,ActiveMQ 的最佳连接 URI 是什么?

标签 java message-queue activemq

我正在 Java 中使用 ActiveMQ 来记录传入的分析信标。理想情况下,如果队列出现故障或被锁定,我希望尽快失败,在本地记录信标,然后返回到客户端而不挂起,然后尝试稍后重新连接。

使用 ActiveMQ 时该用例的最佳连接 URI 和 URI 参数是什么?

最佳答案

我建议针对您的情况使用 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

关于java - 如果我想快速失败,ActiveMQ 的最佳连接 URI 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5011438/

相关文章:

java - 在 Vaadin 7 BrowserFrame 中插入 Vimeo 视频

java - Websocket 在连接时获取远程 IP

c# - 我应该使用什么技术来处理进程间事件/通知?

docker - Spring Boot Kafka消息使用者和丢失的消息

java - 等待/通知如何在 JVM 级别工作?

activemq - JMS 消息优先级不适用于消息

c# - .NET 上的 Apache NMS 无法连接到 ActiveMQ [ channel 处于非事件状态太长时间]

java - 如何使用 CsvReader 中的 getHeaders() 方法读取 csv 文件的 header 值

java - 如何将Java资源文件转换为byte[]?

java - Spring Integration JMS 消费者未消费所有消息