2013-04-08 152 views
-2

我是ActiveMQ的初學者,所以我得到了一些問題...我要製作客戶端 - 服務器應用程序,在服務器端使用activemq。所有客戶端發送消息,因此服務器上有單個隊列接收來自所有客戶端的消息。據我瞭解,這不是問題。監視器activemq主題

但還有另外一件事...服務器接收到消息後,與它一起工作併爲每個傳入消息形成應答消息,並且必須爲所有客戶端傳遞此消息,而不僅僅是發送者。如果此時沒有連接到某個客戶端,則當連接恢復時,客戶端必須接收此客戶端脫機時發送的所有消息服務器(不會丟失)。

開始學習ActiveMQ,我發現解決方案:服務器上有一定數量的「輸出隊列」,這個數字等於客戶端的數量。因此,在形成答案之後,服務器應用程序會遍歷所有「輸出隊列」,並將消息放入每個隊列中。在這個變體中,每個客戶端都有唯一的ID並且監聽它的OWN隊列(所有回答消息),所以在服務器上我們可以監視每個客戶端收到哪些消息(這是有利的)。但是,我認爲,這不是最好的解決方案(隊列中很多相同的對象+手動添加服務器端的每個客戶端都是不利的)。

瞭解有關activemq的更多信息,我找到了主題和持久訂閱者。看起來像我需要描述的問題。但現在我的問題是 - 我如何監控主題消息?我試過在jconsole的瀏覽器管理員工具中觀看它,但我看不到這條消息。可能嗎?對於未來的任何問題 - 使用主題是這個問題的一個好主意?或者可能會更好地使用一定數量的輸出隊列,正如我所描述的那樣?

回答