インターフェース TransactionalOperator
public interface TransactionalOperator
プログラムによるトランザクションの境界設定とトランザクションの例外処理を簡素化する演算子クラス。
中心的な方法は transactional(reactor.core.publisher.Flux<T>)
であり、関数シーケンスのトランザクションラップをサポートし、それをコーディングします。このオペレーターは、トランザクションのライフサイクルと起こり得る例外を処理するため、ReactiveTransactionCallback 実装も呼び出し元のコードも明示的にトランザクションを処理する必要はありません。
典型的な使用箇所: データベース接続などのリソースを使用するが、トランザクション自体は認識しない低レベルのデータアクセスオブジェクトを書き込むことができます。代わりに、このクラスを利用する高レベルのアプリケーションサービスによって処理されるトランザクションに暗黙的に参加し、内部クラスのコールバックオブジェクトを介して低レベルのサービスを呼び出すことができます。
注意 : トランザクションパブリッシャーは、サブスクリプションのキャンセルを回避する必要があります。詳細については、Spring Framework リファレンスのシグナルをキャンセルセクションを参照してください。
- 導入:
- 5.2
- 作成者:
- Mark Paluch, Juergen Hoeller
- 関連事項:
メソッドのサマリー
修飾子と型メソッド説明static TransactionalOperator
create
(ReactiveTransactionManager transactionManager) デフォルトのトランザクションを使用して、ReactiveTransactionManager
を使用して新しいTransactionalOperator
を作成します。static TransactionalOperator
create
(ReactiveTransactionManager transactionManager, TransactionDefinition transactionDefinition) <T> reactor.core.publisher.Flux<T>
execute
(TransactionCallback<T> action) トランザクション内で、指定されたコールバックオブジェクトによって指定されたアクションを実行します。default <T> reactor.core.publisher.Flux<T>
transactional
(reactor.core.publisher.Flux<T> flux) 指定された Flux によって指定された機能シーケンスをトランザクション内でラップします。<T> reactor.core.publisher.Mono<T>
transactional
(reactor.core.publisher.Mono<T> mono) 指定された Mono によって指定された機能シーケンスをトランザクション内でラップします。
メソッドの詳細
transactional
default <T> reactor.core.publisher.Flux<T> transactional(reactor.core.publisher.Flux<T> flux) 指定された Flux によって指定された機能シーケンスをトランザクション内でラップします。- パラメーター:
flux
- トランザクション内で実行する必要がある Flux- 戻り値:
- コールバックによって返された結果パブリッシャー。ない場合は
null
- 例外:
TransactionException
- 初期化、ロールバック、システムエラーの場合RuntimeExceptionSE
- TransactionCallback によってスローされた場合
transactional
<T> reactor.core.publisher.Mono<T> transactional(reactor.core.publisher.Mono<T> mono) 指定された Mono によって指定された機能シーケンスをトランザクション内でラップします。- パラメーター:
mono
- トランザクション内で実行する必要がある Mono- 戻り値:
- コールバックによって返された結果パブリッシャー
- 例外:
TransactionException
- 初期化、ロールバック、システムエラーの場合RuntimeExceptionSE
- TransactionCallback によってスローされた場合
execute
<T> reactor.core.publisher.Flux<T> execute(TransactionCallback<T> action) throws TransactionException トランザクション内で、指定されたコールバックオブジェクトによって指定されたアクションを実行します。トランザクション内で作成された結果オブジェクト、つまりドメインオブジェクトまたはドメインオブジェクトのコレクションを返すことができます。コールバックによってスローされた RuntimeException は、ロールバックを強制する致命的な例外として扱われます。このような例外は、テンプレートの呼び出し元に伝播されます。
- パラメーター:
action
- トランザクションアクションを指定するコールバックオブジェクト- 戻り値:
- コールバックによって返された結果オブジェクト
- 例外:
TransactionException
- 初期化、ロールバック、システムエラーの場合RuntimeExceptionSE
- TransactionCallback によってスローされた場合
create
デフォルトのトランザクションを使用して、ReactiveTransactionManager
を使用して新しいTransactionalOperator
を作成します。- パラメーター:
transactionManager
- 使用するトランザクション管理戦略- 戻り値:
- トランザクションオペレーター
create
static TransactionalOperator create(ReactiveTransactionManager transactionManager, TransactionDefinition transactionDefinition) - パラメーター:
transactionManager
- 使用するトランザクション管理戦略transactionDefinition
- 適用するトランザクション定義- 戻り値:
- トランザクションオペレーター