インターフェース TransactionalOperator


public interface TransactionalOperator
プログラムによるトランザクションの境界設定とトランザクションの例外処理を簡素化する演算子クラス。

中心的な方法は transactional(reactor.core.publisher.Flux<T>) であり、関数シーケンスのトランザクションラップをサポートし、それをコーディングします。このオペレーターは、トランザクションのライフサイクルと起こり得る例外を処理するため、ReactiveTransactionCallback 実装も呼び出し元のコードも明示的にトランザクションを処理する必要はありません。

典型的な使用箇所: データベース接続などのリソースを使用するが、トランザクション自体は認識しない低レベルのデータアクセスオブジェクトを書き込むことができます。代わりに、このクラスを利用する高レベルのアプリケーションサービスによって処理されるトランザクションに暗黙的に参加し、内部クラスのコールバックオブジェクトを介して低レベルのサービスを呼び出すことができます。

注意 : トランザクションパブリッシャーは、サブスクリプションのキャンセルを回避する必要があります。詳細については、Spring Framework リファレンスのシグナルをキャンセルセクションを参照してください。

導入:
5.2
作成者:
Mark Paluch, Juergen Hoeller, Enric Sala
関連事項:
  • メソッドの詳細

    • transactional

      default <T> reactor.core.publisher.Flux<T> transactional(reactor.core.publisher.Flux<T> flux)
      トランザクション内で、指定された Flux によって指定された機能シーケンスをラップします。
      パラメーター:
      flux - トランザクション内で実行されるべき Flux
      戻り値:
      コールバックによって返された結果パブリッシャー。ない場合は null 
      例外:
      TransactionException - 初期化、ロールバック、システムエラーの場合
      RuntimeExceptionSE - TransactionCallback によってスローされた場合
    • transactional

      default <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

      static TransactionalOperator create(ReactiveTransactionManager transactionManager)
      デフォルトのトランザクションを使用して、ReactiveTransactionManager を使用して新しい TransactionalOperator を作成します。
      パラメーター:
      transactionManager - 使用するトランザクション管理戦略
      戻り値:
      トランザクションオペレーター
    • create

      static TransactionalOperator create(ReactiveTransactionManager transactionManager, TransactionDefinition transactionDefinition)
      ReactiveTransactionManager および TransactionDefinition を使用して新しい TransactionalOperator を作成します。
      パラメーター:
      transactionManager - 使用するトランザクション管理戦略
      transactionDefinition - 適用するトランザクション定義
      戻り値:
      トランザクションオペレーター