我們系統使用ActiveMQ作用兩個系統間的互動。
現在的問題是,每發送幾個訊息(個數不定),就有一個訊息被mq放到pending里,
佇列的消費者始終讀不了這個訊息。
時間長了,pending的數量就緩慢的增長。
什么情況下訊息會被MQ留下來,不能收走呢?
uj5u.com熱心網友回復:
是最新版本嗎?有沒有可能是它自身的一個bug上這看看
uj5u.com熱心網友回復:
請問樓主采用的是哪種模式?點對點或者發布/訂閱模式點對點:訊息資料被持久化,每條訊息都能被消費,沒有監聽QUEUE地址也能被消費,資料不會丟失,一對一的發布接受策略,保證資料完整。一個訊息只能由一個消費者消費;訊息消費者消費訊息時機是佇列沒有被訊息提供者鎖住,也就是說只有訊息提供者執行了session.close()后消費者才會執行onMessage()方法。
發布/訂閱模式:訂閱一個主題的消費者只能消費自它訂閱之后發布的訊息;一份訊息可以被多個消費者消費。
uj5u.com熱心網友回復:
是點對點模式。uj5u.com熱心網友回復:
你的這個問題就是代碼的問題,一定是Receiver部分處理出現了問題。
佇列名稱
Number Of Pending Messages 是佇列中有多少個訊息等待出佇列
Number Of Consumers 是佇列中有多少個消費者
Messages Enqueued 是佇列共有多少個資訊
Messages Dequeued 是佇列中已經出列多少個訊息
建議結合ActiveMQ官網和參考一下網上的實作代碼,排查實驗一下。
uj5u.com熱心網友回復:
參考:http://blog.163.com/chengwei_1104/blog/static/53645274201382315625329/uj5u.com熱心網友回復:
若是queue,去找消費端的問題,正常來講queue除非堵了,不會出現一部分被消費一部分保留的情況,除非消費短有問題,拒絕了;若是topic,看看你分發時候是否確定有分發的消費端;
uj5u.com熱心網友回復:
請問問題解決了嗎?我也有四個message卡在pending里。
uj5u.com熱心網友回復:
看不了
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/28479.html
標籤:中間件
上一篇:vshpere 如何修改我上傳的檔案的檔案名?如何洗掉狀態無效的虛擬機?
下一篇:請教技術問題
