2015-05-31 177 views
0

我有一個與java消息服務有關的問題... 問題:假設我的JMS發佈者向我發送5條消息...當我收到前兩條消息時,我的應用程序處理它n確認它...因此,它是從主題中刪除...溫我recv第3 msg bcz的一些問題我的應用程序無法處理第3條消息和dint承認...但第4和第5條消息得到處理和承認...但是我chk管理控制檯我發現第三條消息也被確認...Jms消息確認

我想知道如何分別確認每條消息。任何人有想法?

注:M使用CLIENT_ACKNOWLEDGE模式

回答

0

根據JMS規範CLIENT_ACKNOWLEDGE - 一個確認消息消耗自動確認收到已經由它的會話中傳送all消息。

許多JMS提供者已經實現了上述規範,因此不提供確認消息。但是一些JMS提供者(AcitveMQ ??)確實實現了每個消息確認。因此,您需要檢查您的JMS提供程序是否支持每個消息確認功能。

+0

是的我猜weblogic不支持每個消息確認...是否有可能做出自定義確認...哪些將單獨確認消息...任何想法? – user2991214

+0

目前Tibco和ActiveMQ提供這種INDIVIDUAL_ACK模式。這也是JMS2.1規範的考慮因素!使用當前的WebLogic,您沒有太多選擇。嘗試將連接工廠確認模式設置爲Previous,並在失敗後立即執行session.recover()。 – satks