2017-02-22 206 views
0

我需要將一些'car'存儲庫(由不同的從屬服務器管理)同步到一個存儲庫(由一個主服務器管理)。如何通知JMS偵聽器'無對象'消息

對於這個問題,我使用的是ActiveMQ。 我已經定義了一個隊列(master.car.queue),這個隊列將被主人監聽,並且所有的奴隸將在那裏發佈他們的車庫(每5分鐘)。

我有一個場景,其中一個奴隸在其存儲庫中有一輛車 - 所以它發佈相應的消息。 幾分鐘後,這輛車賣了 - 所以這個奴隸的存儲庫現在是空的 - 它應該如何通知主人?

我認爲以下選項:

1)創建另一個隊列爲用例。

2)使用相同的master.car.queue - 但發送一個新的消息類型或在該消息上設置一些屬性。

這個用例的最佳實踐是什麼?

謝謝。

回答

0

取決於您的隊列消費者設計,以及它是否能夠處理這些用例,以及如果從業務角度來看您如何處理消息。 例如,如果收到的消息只是在數據庫中注入,則可以爲這兩個用例的2個隊列創建2個消費者(一個插入,一個更新或刪除),並使用您的第一個命題或使用1隊列,並使用消息路由器從消費接收者的EIP模式到路由到不同的消費者