java - Springのトランザクションでマルチスレッドが有効になっているときに例外をキャッチしてロールバックするにはどうすればよいですか?
女神的闺蜜爱上我
女神的闺蜜爱上我 2017-06-12 09:26:37
0
1
1652

処理を高速化するためにトランザクションで 2 つのスレッドを使用するとします。userDao.addOrg() メソッドが RuntimeException をスローした場合、トランザクションはロールバックされず、エラーも捕捉されません。どうすればよいですか?右?

リーリー
女神的闺蜜爱上我
女神的闺蜜爱上我

全員に返信(1)
世界只因有你

@Transactional はシングルスレッドのトランザクションのみを制御できるため、子スレッドは add メソッドのトランザクションによって制御されません。子スレッドによって呼び出されたメソッドで新しいトランザクションを開始し、ロールバックできます。

子スレッドがトランザクション制御メソッドを呼び出せるようにします:

リーリー リーリー

@Transactional はプロキシを通じて実装されるため、addMethod は新しいクラス AddOperation に配置する必要があり、add メソッドが配置されているクラスには配置できないことに注意してください。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート