如何查詢佇列的大小

 常見問題 > 使用 Apache ActiveMQ Classic > 如何查詢佇列的大小

我該如何檢查佇列的大小?我知道這不是 JMS 標準,但大多數 JMS 實作都有方法可以做到。

您可以使用 ActiveMQ Classic 5.x 中的 MBean 來檢視佇列深度。使用任何 JMX 管理主控台來查看統計資訊。請參閱如何監控 ActiveMQ Classic

您也可以使用 JMS QueueBrowser來瀏覽佇列的內容。

或者,您可以程式化地存取統計資訊。

透過 MBean,您可以監控個別的目的地,包括與目的地相關的訊息統計資訊。例如,您會在目的地(佇列或主題)上看到以下屬性:

  • Enqueue Count - 自上次重新啟動以來,傳送到佇列的訊息總數
  • Dequeue Count - 自上次重新啟動以來,從佇列中移除(由消費者確認)的訊息總數
  • Inflight Count - 已傳送到消費者工作階段且尚未收到確認的訊息數量
  • Dispatch Count - 傳送到消費者工作階段的訊息總數 (Dequeue + Inflight)
  • Expired Count - 因過期而未傳遞的訊息數量

「佇列的大小」也在「QueueSize」屬性中明確指出。QueueSize 是佇列/儲存中尚未由消費者確認的訊息總數。與 Enqueue Count 相比,有時會造成混淆,因為 Enqueue Count 是某段時間內的計數(自上次代理程式重新啟動以來),而 Queue Size 並不依賴於一段時間,而是依賴於儲存中的實際訊息數量。

Apache、ActiveMQ、Apache ActiveMQ、Apache 羽毛標誌和 Apache ActiveMQ 專案標誌是 Apache 軟體基金會的商標。 版權所有 © 2024,The Apache Software Foundation。 根據Apache 授權 2.0授權。