2014-09-01 33 views
0

我試圖用activemq 5.10的非持久主題測試生產者流控制。我禁用了生產者流量控制,並且想要了解系統使用流量控制是否會在達到系統使用限制時啓動。ActiveMQ 5.10生產者流控制與非持久性主題

但即使當持久性存儲被使用100%時,也不停止發佈生產者。

可能的原因是什麼?

感謝

+0

另一端是否有消費者?是否有持久訂閱?測試的條件是什麼,沒有答案是不可能的。 – 2014-09-01 14:27:30

+0

我嘗試過和沒有消費者。當我使用消費者時,我製作了持久訂閱,然後關閉了消費者,以便其消息將與經紀人保持一致。 – learner 2014-09-02 05:45:09

+0

@TimBish你能指導我如何測試這些功能嗎? – learner 2014-09-02 05:59:16

回答

0

您需要先了解主題和隊列之間的difference。對於沒有消費者的正常話題,不保留消息,因爲發佈訂閱模型只關心連接的消費者,所以他們只是被拋棄。即使您將郵件發送爲持久郵件,它也沒有意義,因爲除非有已註冊的持久使用者處於脫機狀態,否則主題不會持久存在郵件。

在脫機耐用消費者的情況下,只有當消息被寫入磁盤而不存儲在內存中時,纔會有生產者流量控制,直到達到存儲限制。

+0

假設我有一個持久訂閱者,並且我發送了持久標誌設置爲false的消息(即,一個主題上沒有持久持久消息)並且生產者流控制設置爲false。現在,如果生產者的內存限制達到了,經紀人會停止生產者向這個主題發送消息?如果臨時存儲限制將達到,它會停止嗎? – learner 2014-09-02 14:41:50

+0

禁止生產者流量控制,所有投注均關閉。 – 2014-09-02 14:57:29

+0

所以當系統使用完成後,即沒有更多的空間來存儲這些消息時,沒有耐久性的概念,生產者會發送哪些消息會立即拋棄? – learner 2014-09-02 15:36:36