2011-08-12 70 views
0

我們已經在美國和它的如下文前的情況:承認使用客戶端預取的消息確認模式

  1. 我們有長期訂戶訂閱的話題。這個持久訂閱者是一個由守護進程運行的perl腳本。
  2. perl腳本使用stomp連接到代理。
  3. perl腳本每5分鐘喚醒一次,檢查主題中的消息並通過預取消息批量處理它們。
  4. 訂戶使用客戶端確認並僅確認批次的最後一條消息。
  5. 我們使用帶有kahaDB持久性的AMQ 5.5。

現在我們看到的是,

  • 即使消息被批量處理,最後的消息被確認的飛行次數不下來。
  • 入隊計數,出隊計數和分派計數不匹配。
  • 日誌文件沒有得到清理。

我明白,一旦消息的引用丟失或刪除(即消息被消耗),日誌文件將被清除。但是,它是否需要對我在主題上看到的各種計數屬性做任何事情?

另外,如果客戶端崩潰,並且在實況回來後消耗所有消息,那麼我也應該預計飛行計數降爲0。

請讓我知道是否有任何其他原因可能導致日記文件滯留。

謝謝

哈日

+0

即使調度計數和機上計數發生變化,我也會看到出隊計數保持爲0。我認爲,離隊計數與從主題中刪除的消息有直接關係。 – Hari

+0

這導致我們的生產日記文件日益增長。如果有精通ActiveMQ的人可以幫助我理解問題,我會非常感激。 – Hari

回答

0

其實我發送ACK後,立即斷開連接。 在斷開連接之前等待確認收據解決了問題。