インターフェース TransactionSynchronization

すべてのスーパーインターフェース:
FlushableSEOrdered
すべての既知の実装クラス:
ResourceHolderSynchronizationSpringFlushSynchronizationSpringSessionSynchronizationTransactionSynchronizationAdapter

public interface TransactionSynchronization extends Ordered, FlushableSE
トランザクション同期コールバックのインターフェース。AbstractPlatformTransactionManager でサポートされています。

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

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

5.3 の時点で、同期の実行順序を宣言的に制御できるように Ordered インターフェースを実装します。デフォルトの orderOrdered.LOWEST_PRECEDENCE で、実行が遅れていることを示します。以前の実行では低い値を返します。

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

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

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

    HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    default void
    トランザクションのコミット後に呼び出されます。
    default void
    afterCompletion(int status)
    トランザクションのコミット / ロールバック後に呼び出されます。
    default void
    beforeCommit(boolean readOnly)
    トランザクションのコミット前( "beforeCompletion" の前)に呼び出されます。
    default void
    トランザクションのコミット / ロールバックの前に呼び出されます。
    default void
    該当する場合は、基になるセッションをデータストアにフラッシュします(例: Hibernate/JPA セッション)。
    default int
    このトランザクション同期の実行順序を返します。
    default void
    この同期を再開します。
    default void
    この同期を一時停止します。
  • フィールドの詳細

    • STATUS_COMMITTED

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

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

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

    • getOrder

      default int getOrder()
      このトランザクション同期の実行順序を返します。

      デフォルトは Ordered.LOWEST_PRECEDENCE です。

      次で指定:
      インターフェース OrderedgetOrder 
      戻り値:
      オーダー額
      関連事項:
    • suspend

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

      default void resume()
      この同期を再開します。リソースを管理している場合、リソースを TransactionSynchronizationManager に再バインドするとします。
      関連事項:
    • flush

      default void flush()
      該当する場合は、基になるセッションをデータストアにフラッシュします(例: Hibernate/JPA セッション)。
      次で指定:
      インターフェース FlushableSEflush 
      関連事項:
    • beforeCommit

      default void beforeCommit(boolean readOnly)
      トランザクションのコミット前( "beforeCompletion" の前)に呼び出されます。できます。トランザクション O/R マッピングセッションをデータベースにフラッシュします。

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

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

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

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

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

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

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

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

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

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

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

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

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