2013-06-02 82 views
1

中刪除一個持久的消息我對Spring使用ActiveMQ JMS實現,並且剛剛從隊列模型切換到主題模型,因爲我的JMS客戶端從一個增加到多個。主題訂戶應該耐用,因爲客戶在某些情況下可能會變得不可用。JMS:當從主題

我不明白何時從主題中刪除持久性消息。底層引擎不知道有多少訂閱者可以從該主題收到,所以何時從其內部數據庫中刪除消息?它是以基於時間的方式完成的嗎?

回答

4

如果向某個主題註冊新的持久訂閱者,代理服務器將跟蹤該訂閱並保留這些消息,直到每個訂閱者(具有唯一的訂閱者ID)成功使用該消息。

將消息複製到每個接收者的唯一隊列非常相似。

底層引擎是不知道有多少用戶可能會收到來自該主題

- 是的,它是知道的,因爲訂閱耐用