2016-11-30 133 views
0

我正在嘗試通過TIBCO EMS發佈消息。處理幾條消息後,我自動得到這個錯誤並處理暫停。過了一段時間後,我可以處理10K左右的消息。這是我得到的錯誤。請在此告知TIBCO嘗試確認此消費者無效的消息

2016-11-30 13:39:31,170 ERROR c.b.e.d.AckMessageListenerController - Listener for Queue[TEST.DEV.QUE] throwed an exception, closing session to avoid possible message loss 
javax.jms.IllegalStateException: Attempt to acknowledge message(s) not valid for this consumer 
+0

此方案是否表示在同一會話中只有兩個接收器用於隊列? – skanda

+0

在這種情況下,我們是否有這個隊列的陳舊連接? – skanda

回答

0

查看此隊列中有多少用戶。 此錯誤表示您試圖確認此消息不適合您。 該流程是否從任何checkopint開始?

+0

沒有。消息由同一臺服務器生成和使用。我們有這種設計在兩個不同的應用層之間進行通信。當我檢查隊列屬性時,我發現沒有流量控制,到期屬性設置。那麼,是否會出現消費者消費之前消息在隊列中過期的情況。這是否有效? – skanda

+0

我們使用CLIENT_ACK作爲確認模式。生產商迅速推送消息和消費者收取消息的速度非常緩慢(儘管它肯定表明消費者端的代碼泄漏) – skanda