通过ActiveMQ诊断JMS通信中的节点压缩

时间:2013-06-24 13:56:48

标签: jms activemq

我有通过JMS(ActiveMQ + Camel)进行通信的java应用程序(节点)。我有这样的情况:

1。)Node_1将消息放入队列 2.)消息在队列中一段时间​​,因为Node_2正忙 3.)Node_2在准备就绪时接收消息

每个节点和ActiveMQ都在可分离的机器中。让我们说Node_2变得无法访问(可能只是机器被粉碎)。 告知Node_1 Node_2无法访问的最佳方法是什么?

我并不完全熟悉这些技术。我注意到有某种不活动监视器,我认为它可能是一个很好的工具。不幸的是,我不知道,也无法找到我是否可以使用它在ActiveMQ端运行自定义操作。 如果Node_2无法访问,我可以在ActiveMQ中运行自定义操作吗?

1 个答案:

答案 0 :(得分:1)

首要的是:消息传递和MOM的想法是你不应该知道对方是否已经崩溃,因为一旦系统被修复,消息将由ActiveMQ传递。

也就是说,如果您有很多队列,那么您可以做的最好的事情就是订阅来自ActiveMQ.Advisory.Consumer.Queue.<YOUR QUEUE>ActiveMQ.Advisory.Consumer.Queue.>的邮件。这样做,您将能够(从node1)看到node2已停止(或重新启动)以消耗指示崩溃或类似情况的消息。

在此处阅读更多内容http://activemq.apache.org/advisory-message.html