2017-11-10 292 views
-1

我見過很多關於如何從服務器/生產者發送消息到客戶端的代碼和示例,但我失去了如何從客戶端發送消息到服務器。它是否遵循相同的格式?Java ActiveMQ:如何發送消息從客戶端到服務器

例如,假設我的服務器有5個主題:A,B,C,D,E。我的客戶端只收聽主題C. 所以我的服務器創建一個隊列併發送消息給訂閱者/客戶端。 我的客戶端獲取主題C上的消息。它執行一些計算,並且我想要將消息發回給發佈者(例如int)。什麼是必需的步驟?

我是否需要爲製作人設定一個目的地/主題進行聆聽? 我的製作人是否會自動收聽所有客戶端(一旦連接)?

回答

0

我想你可能需要閱讀一些有關可用的各種通信模型的信息, this on JMS Models

您已經開始使用主題,但您的語句暗示發件人和收件人之間的一對一關係。對於這個隊列可能更合適。主題通常用於在發佈者不知道(不關心)訂閱者的情況下發布信息 - 並且可以有很多。

另一方面,排隊旨在傳遞給特定目標。有了這個,你仍然可以做到「即忘即忘」(發送者將郵件放入隊列並且不會等待預期的消費者處理它)

或者您可以添加響應處理 - 主要是通過添加一個「並行」響應隊列(其中初始發送者將處理來自消費者的響應消息 - 通常在不同的線程中)。

ActiveMQ和JMS有"reply-to" functionality - 發件人指示發送隊列名稱的地方,它希望看到回覆返回到 - 並且消費者遵守。應答隊列可以是固定的,也可以是發件人預先創建的臨時應答隊列。

這一切都取決於你打算用什麼樣的模型。

相關問題