首页 > 解决方案 > ActiveMQ 主动检查服务器活跃度的连接

问题描述

有没有办法检查 ActiveMQ 服务器是否仍在运行,而无需实际接收或发送或执行事务?我正在使用“尽力而为 1 阶段提交”逻辑 - 即不使用 XA,而是在提交 JMS 之前提交 db,假设 JMS 提交将通过,除非服务器已关闭(与 SQL 提交相反,这可能由于例如违反约束而失败)。

这非常接近完美。但是,如果我可以在提交数据库事务之前检查 ActiveMQ 服务器是否真的正在运行,我会稍微收紧潜在的崩溃窗口。

一种通过连接发送某种“ping”的方法正是我正在寻找的,例如从实际服务器获取某种状态(不仅仅是询问连接对象是否认为它与服务器)。对于 SQL Server,“SELECT 1”非常适合这种情况。我想我可以在没有任何消费者的情况下向主题发送消息,但这似乎有点笨拙。在实际的 ActiveMQConnection 对象上使用方法(而不是纯粹的 JMS API)是没有问题的。

标签: jmsactivemq

解决方案


推荐阅读