本文介紹了如果使用消息后出現錯誤,如何將消息保存在JMS消息隊列中?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我的場景是-我將消息發布到隊列中,一旦消息被使用,我就將其發送到第三方中間件應用程序。如果中間件應用程序關閉,那么我發布的消息就會被丟棄。如果中間件應用程序關閉,我不想丟失該消息,相反,我希望它處于等待狀態或在隊列中等待。請建議如何處理此場景?
推薦答案
您應該這樣創建會話:
Session session = connection.createSession(false,
Session.CLIENT_ACKNOWLEDGE);
當您嘗試將郵件傳遞到第三方應用時:
如果它工作正常,您應該刪除該郵件。
如果它已關閉,您不應該對其進行備份,這樣JMS提供程序將能夠對其進行重新編輯,并且消息不會丟失。message.acknowledge();
另外,您還可以查看以下內容:JMS AUTO_ACKNOWLEDGE when is it acknowledged?
這篇關于如果使用消息后出現錯誤,如何將消息保存在JMS消息隊列中?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,