クラス ResourceHolderSynchronization<H extends ResourceHolder,K>

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

public abstract class ResourceHolderSynchronization<H extends ResourceHolder,K> extends ObjectSE implements TransactionSynchronization
TransactionSynchronizationManager を介してバインドされた ResourceHolder を管理する TransactionSynchronization 実装。
導入:
2.5.5
作成者:
Juergen Hoeller
  • フィールドサマリー

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

    HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE

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

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

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

    修飾子と型
    メソッド
    説明
    void
    トランザクションのコミット後に呼び出されます。
    void
    afterCompletion(int status)
    トランザクションのコミット / ロールバック後に呼び出されます。
    void
    beforeCommit(boolean readOnly)
    トランザクションのコミット前( "beforeCompletion" の前)に呼び出されます。
    void
    トランザクションのコミット / ロールバックの前に呼び出されます。
    protected void
    cleanupResource(H resourceHolder, K resourceKey, boolean committed)
    指定されたリソース(スレッドにバインドされたまま)に対してクリーンアップを実行します。
    void
    該当する場合は、基になるセッションをデータストアにフラッシュします(例: Hibernate/JPA セッション)。
    protected void
    flushResource(H resourceHolder)
    指定されたリソースホルダーのコールバックをフラッシュします。
    protected void
    指定されたリソースホルダーのコミット後のコールバック。
    protected void
    releaseResource(H resourceHolder, K resourceKey)
    指定されたリソースを解放します(スレッドからバインド解除された後)。
    void
    この同期を再開します。
    protected boolean
    トランザクションの補完後にこの所有者のリソースを解放する必要があるかどうかを返します(true)。
    protected boolean
    この所有者のリソースをトランザクション完了前(true)に解放するか、トランザクション完了後(false)に解放するかを返します。
    protected boolean
    このホルダーが完了時にバインド解除される(または、トランザクション後にスレッドにバインドされたままにする必要がある)かどうかを返します。
    void
    この同期を一時停止します。

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

    clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE

    インターフェース org.springframework.transaction.support.TransactionSynchronization から継承されたメソッド

    getOrder
  • コンストラクターの詳細

  • メソッドの詳細

    • 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)
      インターフェースからコピーされた説明: TransactionSynchronization
      トランザクションのコミット前( "beforeCompletion" の前)に呼び出されます。できます。トランザクション O/R マッピングセッションをデータベースにフラッシュします。

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

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

      次で指定:
      インターフェース TransactionSynchronizationbeforeCommit 
      パラメーター:
      readOnly - トランザクションが読み取り専用トランザクションとして定義されているかどうか
      関連事項:
    • 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_* 定数に従った完了ステータス
      関連事項:
    • shouldUnbindAtCompletion

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

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

    • shouldReleaseBeforeCompletion

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

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

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

      関連事項:
    • shouldReleaseAfterCompletion

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

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

      関連事項:
    • flushResource

      protected void flushResource(H resourceHolder)
      指定されたリソースホルダーのコールバックをフラッシュします。
      パラメーター:
      resourceHolder - フラッシュするリソースホルダー
    • processResourceAfterCommit

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

      protected void releaseResource(H resourceHolder, K resourceKey)
      指定されたリソースを解放します(スレッドからバインド解除された後)。
      パラメーター:
      resourceHolder - 処理するリソースホルダー
      resourceKey - ResourceHolder がバインドされたキー
    • cleanupResource

      protected void cleanupResource(H resourceHolder, K resourceKey, boolean committed)
      指定されたリソース(スレッドにバインドされたまま)に対してクリーンアップを実行します。
      パラメーター:
      resourceHolder - 処理するリソースホルダー
      resourceKey - ResourceHolder がバインドされたキー
      committed - トランザクションがコミット(true)したか、ロールバックしたか (false)