インターフェース TransactionSynchronization

すべての既知の実装クラス:
ReactiveResourceSynchronization

public interface TransactionSynchronization
リアクティブトランザクション同期コールバックのインターフェース。AbstractReactiveTransactionManager でサポートされています。

TransactionSynchronization 実装は、Ordered インターフェースを実装して実行順序に影響を与えることができます。Ordered インターフェースを実装しない同期は、同期チェーンの最後に追加されます。

Spring 自体によって実行されるシステム同期は、特定の順序値を使用して、実行順序とのきめ細かいやり取りを可能にします(必要な場合)。

導入:
5.2
作成者:
Mark Paluch, Juergen Hoeller
関連事項:
  • フィールドサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    static final int
    適切なコミットの場合の補完ステータス。
    static final int
    適切なロールバックの場合の補完ステータス。
    static final int
    ヒューリスティックな混合完了またはシステムエラーの場合の補完ステータス。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    default reactor.core.publisher.Mono<VoidSE>
    トランザクションのコミット後に呼び出されます。
    default reactor.core.publisher.Mono<VoidSE>
    afterCompletion(int status)
    トランザクションのコミット / ロールバック後に呼び出されます。
    default reactor.core.publisher.Mono<VoidSE>
    beforeCommit(boolean readOnly)
    トランザクションのコミット前( "beforeCompletion" の前)に呼び出されます。
    default reactor.core.publisher.Mono<VoidSE>
    トランザクションのコミット / ロールバックの前に呼び出されます。
    default reactor.core.publisher.Mono<VoidSE>
    この同期を再開します。
    default reactor.core.publisher.Mono<VoidSE>
    この同期を一時停止します。
  • フィールドの詳細

    • STATUS_COMMITTED

      static final int STATUS_COMMITTED
      適切なコミットの場合の補完ステータス。
      関連事項:
    • STATUS_ROLLED_BACK

      static final int STATUS_ROLLED_BACK
      適切なロールバックの場合の補完ステータス。
      関連事項:
    • STATUS_UNKNOWN

      static final int STATUS_UNKNOWN
      ヒューリスティックな混合完了またはシステムエラーの場合の補完ステータス。
      関連事項:
  • メソッドの詳細

    • suspend

      default reactor.core.publisher.Mono<VoidSE> suspend()
      この同期を一時停止します。いずれかを管理している場合、TransactionSynchronizationManager からリソースのバインドを解除することになっています。
      関連事項:
    • resume

      default reactor.core.publisher.Mono<VoidSE> resume()
      この同期を再開します。リソースを管理している場合、リソースを TransactionSynchronizationManager に再バインドするとします。
      関連事項:
    • beforeCommit

      default reactor.core.publisher.Mono<VoidSE> beforeCommit(boolean readOnly)
      トランザクションのコミット前( "beforeCompletion" の前)に呼び出されます。

      このコールバックは、トランザクションが実際にコミットされることを意味するものではありませ。このメソッドが呼び出された後でも、ロールバックの決定が発生する可能性があります。このコールバックは、SQL ステートメントをデータベースにフラッシュするなど、コミットがまだ発生する可能性がある場合にのみ関連する作業を実行することを目的としています。

      例外はコミット呼び出し元に伝播され、トランザクションのロールバックが発生することに注意してください。

      パラメーター:
      readOnly - トランザクションが読み取り専用トランザクションとして定義されているかどうか
      例外:
      RuntimeExceptionSE - エラーの場合 ; 呼び出し元に伝播されます (注意: ここで TransactionException サブクラスをスローしないでください! )
      関連事項:
    • beforeCompletion

      default reactor.core.publisher.Mono<VoidSE> beforeCompletion()
      トランザクションのコミット / ロールバックの前に呼び出されます。トランザクションの補完前にリソースのクリーンアップを実行できます。

      beforeCommit が例外をスローした場合でも、このメソッドは beforeCommit の後に呼び出されます。このコールバックにより、トランザクションの補完前にリソースを閉じることができます。

      例外:
      RuntimeExceptionSE - エラーの場合 ; ログに記録されますが、伝播されません (注意: ここで TransactionException サブクラスをスローしないでください! )
      関連事項:
    • afterCommit

      default reactor.core.publisher.Mono<VoidSE> afterCommit()
      トランザクションのコミット後に呼び出されます。メイントランザクションが正常にコミットさた直後、さらに操作を実行できます。

      できます。確認メッセージやメールなど、メイントランザクションが正常にコミットされた後に実行されるはずの操作をさらにコミットします。

      : トランザクションはすでにコミットされていますが、トランザクションリソースはまだアクティブでアクセス可能です。結果として、この時点でトリガーされたデータアクセスコードは元のトランザクションに「参加」し、別のトランザクションで実行する必要があることを明示的に宣言しない限り、クリーンアップを実行できるようになります。、 ここから呼び出されるトランザクション操作には PROPAGATION_REQUIRES_NEW を使用します

      例外:
      RuntimeExceptionSE - エラーの場合 ; 呼び出し元に伝播されます (注意: ここで TransactionException サブクラスをスローしないでください! )
    • afterCompletion

      default reactor.core.publisher.Mono<VoidSE> afterCompletion(int status)
      トランザクションのコミット / ロールバック後に呼び出されます。トランザクションの補完後にリソースのクリーンアップを実行できます。

      : トランザクションはすでにコミットまたはロールバックされていますが、トランザクションリソースはまだアクティブでアクセス可能です。結果として、この時点でトリガーされたデータアクセスコードは元のトランザクションに「参加」し、別のトランザクションで実行する必要があることを明示的に宣言しない限り、クリーンアップを実行できるようになります。、 ここから呼び出されるトランザクション操作には PROPAGATION_REQUIRES_NEW を使用します

      パラメーター:
      status - STATUS_* 定数に従った完了ステータス
      例外:
      RuntimeExceptionSE - エラーの場合 ; ログに記録されますが、伝播されません (注意: ここで TransactionException サブクラスをスローしないでください! )
      関連事項: