public interface CallbackPreferringPlatformTransactionManager extends PlatformTransactionManager
PlatformTransactionManager インターフェースの拡張。トランザクション内で特定のコールバックを実行するためのメソッドを公開します。 このインターフェースの実装者は、プログラムによる getTransaction、commit、rollback 呼び出しよりもコールバックの優先順位を自動的に表現します。呼び出し元のコードは、特定のトランザクションマネージャーがこのインターフェースを実装して、明示的なトランザクション境界制御の代わりにコールバックの準備を選択するかどうかを確認する場合があります。
Spring の TransactionTemplate および TransactionInterceptor は、この PlatformTransactionManager バリアントを自動的に検出して使用します。
TransactionTemplate, TransactionInterceptor| 修飾子と型 | メソッドと説明 |
|---|---|
<T> T | execute(TransactionDefinition definition, TransactionCallback<T> callback) トランザクション内で、指定されたコールバックオブジェクトによって指定されたアクションを実行します。 |
commit, getTransaction, rollback@Nullable <T> T execute(@Nullable TransactionDefinition definition, TransactionCallback<T> callback) throws TransactionException
トランザクション内で作成された結果オブジェクト、つまりドメインオブジェクトまたはドメインオブジェクトのコレクションを返すことができます。コールバックによってスローされた RuntimeException は、ロールバックを強制する致命的な例外として扱われます。このような例外は、テンプレートの呼び出し元に伝播されます。
definition - コールバックをラップするトランザクションの定義 callback - トランザクションアクションを指定するコールバックオブジェクト null TransactionException - 初期化、ロールバック、システムエラーの場合 RuntimeExceptionSE - TransactionCallback によってスローされた場合