public interface TransactionOperationsTransactionTemplate によって実装されます。直接使用されることはあまりありませんが、簡単にモックまたはスタブ化できるため、テスト容易性を高める便利なオプションです。| 修飾子と型 | メソッドと説明 |
|---|---|
<T> T | execute(TransactionCallback<T> action) トランザクション内で、指定されたコールバックオブジェクトによって指定されたアクションを実行します。 |
default void | executeWithoutResult(ConsumerSE<TransactionStatus> action) トランザクション内で、指定された RunnableSE によって指定されたアクションを実行します。 |
static TransactionOperations | withoutTransaction() 実際のトランザクションなしで特定の TransactionCallback を実行する TransactionOperations インターフェースの実装を返します。 |
@Nullable <T> T execute(TransactionCallback<T> action) throws TransactionException
トランザクション内で作成された結果オブジェクト、つまりドメインオブジェクトまたはドメインオブジェクトのコレクションを返すことができます。コールバックによってスローされた RuntimeException は、ロールバックを強制する致命的な例外として扱われます。このような例外は、テンプレートの呼び出し元に伝播されます。
action - トランザクションアクションを指定するコールバックオブジェクト null TransactionException - 初期化、ロールバック、システムエラーの場合 RuntimeExceptionSE - TransactionCallback によってスローされた場合 executeWithoutResult(Consumer)default void executeWithoutResult(ConsumerSE<TransactionStatus> action) throws TransactionException
RunnableSE によって指定されたアクションを実行します。 コールバックからオブジェクトを返す必要がある場合、またはコールバック内から TransactionStatus にアクセスする必要がある場合は、代わりに execute(TransactionCallback) を使用してください。
このバリアントは、TransactionCallbackWithoutResult の使用に似ていますが、一般的な場合に簡略化された署名を使用し、Java 8 ラムダ式で便利に使用できます。
action - トランザクションアクションを指定する RunnableTransactionException - 初期化、ロールバック、システムエラーの場合 RuntimeExceptionSE - Runnable によってスローされた場合 execute(TransactionCallback), TransactionCallbackWithoutResultstatic TransactionOperations withoutTransaction()
TransactionCallback を実行する TransactionOperations インターフェースの実装を返します。テストに便利: この動作は、実際のトランザクションなし(PROPAGATION_SUPPORTS)および同期なし(SYNCHRONIZATION_NEVER)のトランザクションマネージャーで実行するのと同じです。
実際のトランザクション処理を伴う TransactionOperations 実装の場合、TransactionTemplate を適切な PlatformTransactionManager とともに使用します。