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