簡體   English   中英

消息計數<1000時ActiveMQ Artemis瀏覽器為空消息

[英]ActiveMQ Artemis browser empty messages when message count < 1000

我觀察到我無法解釋的奇怪行為。 我的應用程序使用Spring Boot訪問ActiveMQ Artemis並生成和使用正常工作的消息。

但是,當我嘗試在應用程序未監聽的隊列上使用瀏覽時 ,如果消息數大約小於1000,則我的應用程序和Artemis管理控制台都無法枚舉隊列內容。對於更大的消息數或停止隊列監聽器然后就可以了。 為什么會這樣呢?

我的直覺是,這是由客戶端上的消息緩沖區引起的。 客戶端通常會緩沖來自代理的大量消息,作為性能優化,因為執行網絡往返以獲取每條消息可能非常慢。 從經紀人的角度來看,處於這種狀態的消息是“正在傳遞”(即,它們已發送到客戶端,但尚未被客戶端確認)。 此狀態下的消息不可瀏覽。 一旦隊列中有足夠的消息超過客戶端的緩沖區大小(在您的情況下約為1000),您將開始使用瀏覽器查看這些消息。 如果您不希望對客戶端進行此性能優化,則可以通過在客戶端的URL上設置consumerWindowSize=0 (例如tcp://127.0.0.1?consumerWindowSize=0 )來禁用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM