Spring Transaction Managerインスタンスを取得する方法は?
-
29-09-2019 - |
質問
アノテーションを使用して、トランザクションで実行する必要があるメソッドをマークします。
しかし、ある場所で私はする必要があります transactionManager.rollback()
手動で、注釈なし。どうすれば入手できますか transactionManager
物体?
解決
現在のトランザクションをロールバックしたい場合は、使用できます
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
すぐにトランザクションをロールバックしないことに注意してください - 「ロールバックのみ」ステータスを設定するため、コミットの試み中にトランザクションがロールバックされます。
それ以外の場合は、プログラマティックトランザクションの境界が必要な場合は、使用できます
TransactionTemplate
, 、で説明されているように 10.6プログラマティックトランザクション管理.
また、のインスタンスを取得できます PlatformTransactionManager
, 、しかし、それ以来広く使用されていません TransactionTemplate
プログラマティックトランザクションの境界に推奨されるアプローチです。
参照:
他のヒント
あなたのオブジェクトが春までに構成されている場合、あなたはコースからトランザクションマネージャーをそこに注入することができます...
所属していません StackOverflow