2013-06-24 51 views
1

診斷節點壓碎在JMS通信I具有通過JMS(ActiveMQ的+駱駝)進行通信的Java應用程序(節點)。我有這樣一個情況:通過ActiveMQ的

1)Node_1把消息隊列 2)消息在隊列中,同時,因爲Node_2忙 3)只要準備Node_2採取消息

每節點和ActiveMQ在可分機器中。假設Node_2變得無法訪問(也許機器剛被壓壞)。 通知Node_1 Node_2無法訪問的最佳方式是什麼?

我不是噴氣完全熟悉這些技術。我注意到有一種不活動監視器,我認爲它可能是一個很好的工具。不幸的是,我不知道,也無法找到我是否可以使用它在ActiveMQ方面運行自定義操作。 如果Node_2無法訪問,我可以在ActiveMQ中運行自定義操作嗎?

回答

1

首先也是最重要的:消息傳遞和MOM的思想是你不需要知道對方是否已經崩潰,因爲一旦系統被修復,消息將由ActiveMQ交付。

也就是說,如果你有很多隊列,你可以做的最好的事情是訂閱ActiveMQ.Advisory.Consumer.Queue.<YOUR QUEUE>ActiveMQ.Advisory.Consumer.Queue.>的消息。這樣做,您將能夠看到(從node1)node2已停止(或重新啓動)以使用指示崩潰或類似情況的消息。

在這裏閱讀更多http://activemq.apache.org/advisory-message.html

+0

我會測試它。我知道,一旦系統修復後,消息將由ActiveMQ提供,但事實是,我的系統更加複雜,並且出於負載平衡的原因我需要知道它。 – M314

+0

所以它可能是。但是,勸告消息是ActiveMQ對系統中不同事件做出反應的方式 - 所以這是要走的路。如果你需要更復雜的事情,用邏輯/ java /駱駝路線擴展ActiveMQ來做其他事情也不難 –

相關問題