4
圖片場景; 我有一個移動應用程序從Spring託管服務器上取消20美元,並在應用程序上標記完成之前等待確認。控制器連接終止後的事務回滾(即客戶端超時)
但是;
手機應用程序發送的撤銷請求到服務器
控制器接收請求並調用服務器層服務層是如何發生的未通常很長一段時間取款(原因並不重要)。
移動應用程序超時(帶有一個SocketException)並且請求被重新排隊,直到它再次與應用程序對話。
服務器從1完成請求,但不知道客戶端已超時。
我們現在的情況是移動應用程序認爲20美元失敗,但服務器執行了請求。
所以問題;
•當套接字關閉時(即當移動應用程序超時請求時)Spring Spring事務可以回滾嗎?
•如果不是 - 實現上述目標的最佳方法是什麼?
服務器上的一些信息 •彈簧3.1 •基於Spring的控制器/服務/ DAO's。 •休眠(JPA) •MYSQL數據存儲
感謝,
伊恩。
我不知道春天(所以這是一個評論,而不是答案) - 但關於你的第二點,你可以使用2PC。 –
@ todda.speot.is - 謝謝;選擇是,但不是我喜歡的方法,因爲它需要大量的體系結構更改才能適應。 – Ian