再試行インターセプターを使用して、基本的な楽観的ロックメカニズムを実装しようとしています。
つまり、responsesCountプロパティを持つオブジェクトクイズがあります。クイズの更新中に楽観的なロック例外がスローされた場合、それぞれの更新メソッドが再試行インターセプターから再度呼び出されます。
再試行されたメソッドは毎回同じバージョン番号番号を持っているため、何かが正しくないということです。このため、何があってもトランザクションは失敗します。
バージョン:10
プロセスA:更新クイズの開始、バージョン10プロセスB:更新クイズの開始、バージョン10プロセスB:更新クイズの終了、バージョン11プロセスA:楽観的な例外がスローされ、更新クイズが発生し、プロセスAを再試行します。再試行されたメソッド内のバージョンは常に10です。
それでは私は何ができますか?トランザクションを成功させるには、バージョンを自動的にインクリメントする必要があります