ActiveMQ JMS ping

7

Apache Activemq 5.2.0

我的应用程序监听三个主题并在两个主题上发送消息。当我的应用程序被"webping"时,我想检查这些主题是否活着。我想知道这是否可能。以下是我的观察结果:

  1. Advisory messages 可以用于此目的,但它们仅在生产者/消费者加入时发送消息。这不是我想要的。我只想检查我是否可以向出站主题发送消息,并且可以在入站主题上接收消息。
  2. 自定义心跳解决方案。我可以让每个生产者发送一个心跳消息,比如每5秒钟一次,而侦听器不处理心跳消息,而是更新一个标志/时间戳。这样我就知道主题正在运行。
  3. Apache ActiveMQ内置了类似心跳的东西或者可以"ping主题"吗?

我知道JMS不是用于监控,但如果我是主题的生产者,了解我是否可以轻松地在主题上进行生产将是很好的。我也同意,在ping和消息之间,通道可能会中断,这对我来说是可以接受的故障。

我只想要一个健康检查系统/页面,可以说"是的,主题在那里,而且activemq正在运行"

1个回答

5

您可以使用JMX监控ActiveMQ。这将允许您查看服务器是否运行,哪些主题/队列处于活动状态以及许多其他有用的信息。


谢谢Kevin。JMX与advisor-messages类似,我可以获取诸如“EnqueueCount”等有用的信息。然而,没有办法检查主题当前是否可用。如果我找不到其他方法(除了发送虚拟消息),那么我将接受这个答案。 - Kannan Ekanath
你说的“可用”是什么意思?如果存在,你就可以发布到它上面。 - Kevin
1
忽略上面的评论。显然,JMX bean可以告诉我我需要什么。因此,我编写了一个简单的实用程序,连接到activemq JVM上的MBeanServer,并检查是否存在我的主题的MBean,这解决了我的问题。太好了! - Kannan Ekanath

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接