クラス ReactiveResourceSynchronization<O,K>

java.lang.ObjectSE
org.springframework.transaction.reactive.ReactiveResourceSynchronization<O,K>
型パラメーター:
O - リソースホルダーの型
K - リソースキー型
実装されたすべてのインターフェース:
TransactionSynchronization

public abstract class ReactiveResourceSynchronization<O,K> extends ObjectSE implements TransactionSynchronization
TransactionSynchronizationManager を介してバインドされたリソースオブジェクトを管理する TransactionSynchronization 実装。
導入:
5.2
作成者:
Mark Paluch, Juergen Hoeller
  • フィールドサマリー

    インターフェース org.springframework.transaction.reactive.TransactionSynchronization から継承されたフィールド

    STATUS_COMMITTED, STATUS_ROLLED_BACK, STATUS_UNKNOWN
  • コンストラクターのサマリー

    コンストラクター
    コンストラクター
    説明
    ReactiveResourceSynchronization(O resourceObject, K resourceKey, TransactionSynchronizationManager synchronizationManager)
    指定されたホルダーの新しい ReactiveResourceSynchronization を作成します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    reactor.core.publisher.Mono<VoidSE>
    トランザクションのコミット後に呼び出されます。
    reactor.core.publisher.Mono<VoidSE>
    afterCompletion(int status)
    トランザクションのコミット / ロールバック後に呼び出されます。
    reactor.core.publisher.Mono<VoidSE>
    beforeCommit(boolean readOnly)
    トランザクションのコミット前( "beforeCompletion" の前)に呼び出されます。
    reactor.core.publisher.Mono<VoidSE>
    トランザクションのコミット / ロールバックの前に呼び出されます。
    protected reactor.core.publisher.Mono<VoidSE>
    cleanupResource(O resourceHolder, K resourceKey, boolean committed)
    指定されたリソース(スレッドにバインドされたまま)に対してクリーンアップを実行します。
    protected reactor.core.publisher.Mono<VoidSE>
    指定されたリソースホルダーのコミット後のコールバック。
    protected reactor.core.publisher.Mono<VoidSE>
    releaseResource(O resourceHolder, K resourceKey)
    指定されたリソースを解放します(スレッドからバインド解除された後)。
    reactor.core.publisher.Mono<VoidSE>
    この同期を再開します。
    protected boolean
    トランザクションの補完後にこの所有者のリソースを解放する必要があるかどうかを返します(true)。
    protected boolean
    この所有者のリソースをトランザクション完了前(true)に解放するか、トランザクション完了後(false)に解放するかを返します。
    protected boolean
    このホルダーが完了時にバインド解除される(または、トランザクション後にスレッドにバインドされたままにする必要がある)かどうかを返します。
    reactor.core.publisher.Mono<VoidSE>
    この同期を一時停止します。

    クラス java.lang.ObjectSE から継承されたメソッド

    clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
  • コンストラクターの詳細

    • ReactiveResourceSynchronization

      public ReactiveResourceSynchronization(O resourceObject, K resourceKey, TransactionSynchronizationManager synchronizationManager)
      指定されたホルダーの新しい ReactiveResourceSynchronization を作成します。
      パラメーター:
      resourceObject - 管理するリソースオブジェクト
      resourceKey - リソースオブジェクトをバインドするキー
      synchronizationManager - 現在のトランザクションにバインドされた同期マネージャー
      関連事項:
  • メソッドの詳細

    • suspend

      public reactor.core.publisher.Mono<VoidSE> suspend()
      インターフェースからコピーされた説明: TransactionSynchronization
      この同期を一時停止します。いずれかを管理している場合、TransactionSynchronizationManager からリソースのバインドを解除することになっています。
      次で指定:
      インターフェース TransactionSynchronizationsuspend 
      関連事項:
    • resume

      public reactor.core.publisher.Mono<VoidSE> resume()
      インターフェースからコピーされた説明: TransactionSynchronization
      この同期を再開します。リソースを管理している場合、リソースを TransactionSynchronizationManager に再バインドするとします。
      次で指定:
      インターフェース TransactionSynchronizationresume 
      関連事項:
    • beforeCommit

      public reactor.core.publisher.Mono<VoidSE> beforeCommit(boolean readOnly)
      インターフェースからコピーされた説明: TransactionSynchronization
      トランザクションのコミット前( "beforeCompletion" の前)に呼び出されます。

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

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

      次で指定:
      インターフェース TransactionSynchronizationbeforeCommit 
      パラメーター:
      readOnly - トランザクションが読み取り専用トランザクションとして定義されているかどうか
      関連事項:
    • beforeCompletion

      public reactor.core.publisher.Mono<VoidSE> beforeCompletion()
      インターフェースからコピーされた説明: TransactionSynchronization
      トランザクションのコミット / ロールバックの前に呼び出されます。トランザクションの補完前にリソースのクリーンアップを実行できます。

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

      次で指定:
      インターフェース TransactionSynchronizationbeforeCompletion 
      関連事項:
    • afterCommit

      public reactor.core.publisher.Mono<VoidSE> afterCommit()
      インターフェースからコピーされた説明: TransactionSynchronization
      トランザクションのコミット後に呼び出されます。メイントランザクションが正常にコミットさた直後、さらに操作を実行できます。

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

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

      次で指定:
      インターフェース TransactionSynchronizationafterCommit 
    • afterCompletion

      public reactor.core.publisher.Mono<VoidSE> afterCompletion(int status)
      インターフェースからコピーされた説明: TransactionSynchronization
      トランザクションのコミット / ロールバック後に呼び出されます。トランザクションの補完後にリソースのクリーンアップを実行できます。

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

      次で指定:
      インターフェース TransactionSynchronizationafterCompletion 
      パラメーター:
      status - STATUS_* 定数に従った完了ステータス
      関連事項:
    • shouldUnbindAtCompletion

      protected boolean shouldUnbindAtCompletion()
      このホルダーが完了時にバインド解除される(または、トランザクション後にスレッドにバインドされたままにする必要がある)かどうかを返します。

      デフォルトの実装は true を返します。

    • shouldReleaseBeforeCompletion

      protected boolean shouldReleaseBeforeCompletion()
      この所有者のリソースをトランザクション完了前(true)に解放するか、トランザクション完了後(false)に解放するかを返します。

      リソースが解放されるのは、それらがスレッド(shouldUnbindAtCompletion())からバインド解除されている場合のみであることに注意してください。

      デフォルトの実装は true を返します。

      関連事項:
    • shouldReleaseAfterCompletion

      protected boolean shouldReleaseAfterCompletion(O resourceHolder)
      トランザクションの補完後にこの所有者のリソースを解放する必要があるかどうかを返します(true)。

      デフォルトの実装は !shouldReleaseBeforeCompletion() を返し、完了前に試行が行われなかった場合は完了後に解放します。

      関連事項:
    • processResourceAfterCommit

      protected reactor.core.publisher.Mono<VoidSE> processResourceAfterCommit(O resourceHolder)
      指定されたリソースホルダーのコミット後のコールバック。リソースがまだ解放されていない場合にのみ呼び出されます(shouldReleaseBeforeCompletion())。
      パラメーター:
      resourceHolder - 処理するリソースホルダー
    • releaseResource

      protected reactor.core.publisher.Mono<VoidSE> releaseResource(O resourceHolder, K resourceKey)
      指定されたリソースを解放します(スレッドからバインド解除された後)。
      パラメーター:
      resourceHolder - 処理するリソースホルダー
      resourceKey - リソースオブジェクトがバインドされたキー
    • cleanupResource

      protected reactor.core.publisher.Mono<VoidSE> cleanupResource(O resourceHolder, K resourceKey, boolean committed)
      指定されたリソース(スレッドにバインドされたまま)に対してクリーンアップを実行します。
      パラメーター:
      resourceHolder - 処理するリソースホルダー
      resourceKey - リソースオブジェクトがバインドされたキー
      committed - トランザクションがコミット(true)したか、ロールバックしたか (false)