クラス SpringSessionSynchronization

java.lang.ObjectSE
org.springframework.orm.hibernate5.SpringSessionSynchronization
実装されたすべてのインターフェース:
FlushableSEOrderedTransactionSynchronization

public class SpringSessionSynchronization extends ObjectSE implements TransactionSynchronization, Ordered
事前バインドされた Hibernate セッションの Spring 管理のトランザクションの最後にリソースをクリーンアップするためのコールバック。
導入:
4.2
作成者:
Juergen Hoeller
  • コンストラクターの詳細

    • SpringSessionSynchronization

      public SpringSessionSynchronization(SessionHolder sessionHolder, SessionFactory sessionFactory)
    • SpringSessionSynchronization

      public SpringSessionSynchronization(SessionHolder sessionHolder, SessionFactory sessionFactory, boolean newSession)
  • メソッドの詳細

    • getOrder

      public int getOrder()
      インターフェースからコピーされた説明: TransactionSynchronization
      このトランザクション同期の実行順序を返します。

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

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

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

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

      public void flush()
      インターフェースからコピーされた説明: TransactionSynchronization
      該当する場合は、基になるセッションをデータストアにフラッシュします(例: Hibernate/JPA セッション)。
      次で指定:
      インターフェース FlushableSEflush 
      次で指定:
      インターフェース TransactionSynchronizationflush 
      関連事項:
    • beforeCommit

      public void beforeCommit(boolean readOnly) throws DataAccessException
      インターフェースからコピーされた説明: TransactionSynchronization
      トランザクションのコミット前( "beforeCompletion" の前)に呼び出されます。できます。トランザクション O/R マッピングセッションをデータベースにフラッシュします。

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

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

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

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

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

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

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

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

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

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

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

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

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