2013-03-02 37 views
0

我想了解一個java程序,並且需要修改哪些是使用jms spring框架開發的。通常情況下,它具有JMS接收器,它會從請求隊列接收消息,並在作業完成後調用作業(另一個Java程序),發送者將向響應隊列發送響應。有幾個問題在下面,JMS Listener&Sender - Spring Framework

  1. 直到響應成功發佈到響應隊列中,纔會刪除請求消息。它如何實現它的邏輯是什麼。
  2. 我想編寫一個功能,當發件人無法發送消息(通過捕獲JMS異常)將響應寫入平面文件。一旦發件人隊列啓動並運行,我將讀取平面文件併發送響應。我需要的原因是因爲如果作業失敗,那麼涉及作業處理的工作可能會在幾個小時內完成,然後接收器會再次讀取輸入消息。我想避免重複處理。請在這裏建議你的想法。
+0

爲什麼發送信息失敗?這不應該是非常罕見的嗎? – flup 2013-03-09 23:17:21

回答

0

沒有看到配置,很難回答這些問題,但最好的猜測是#1是因爲應用程序正在使用事務性會話。這意味着該會話的所有更新都沒有完成,直到事務提交。

只要發現異常並寫入數據;只要事務提交(因爲您發現異常),輸入消息將被刪除。