クラス GenericReactiveTransaction

java.lang.ObjectSE
org.springframework.transaction.reactive.GenericReactiveTransaction
実装されたすべてのインターフェース:
ReactiveTransactionTransactionExecution

public class GenericReactiveTransaction extends ObjectSE implements ReactiveTransaction
AbstractReactiveTransactionManager によって使用される ReactiveTransaction インターフェースのデフォルト実装。基礎となる「トランザクションオブジェクト」の概念に基づいています。

AbstractReactiveTransactionManager が内部的に必要とするすべてのステータス情報を保持します。これには、具体的なトランザクションマネージャーの実装によって決定される一般的なトランザクションオブジェクトが含まれます。

: これは、特にないテスト環境でのモックトランザクションマネージャーのため、他の ReactiveTransactionManager の実装で使用するためのものではありません

導入:
5.2
作成者:
Mark Paluch, Juergen Hoeller
関連事項:
  • コンストラクターのサマリー

    コンストラクター
    コンストラクター
    説明
    GenericReactiveTransaction(ObjectSE transaction, boolean newTransaction, boolean newSynchronization, boolean readOnly, boolean debug, ObjectSE suspendedResources)
    非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
    GenericReactiveTransaction(StringSE transactionName, ObjectSE transaction, boolean newTransaction, boolean newSynchronization, boolean nested, boolean readOnly, boolean debug, ObjectSE suspendedResources)
    新しい DefaultReactiveTransactionStatus インスタンスを作成します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    このトランザクションで中断されているリソースの所有者を返します(ある場合)。
    基になるトランザクションオブジェクトを返します。
    トランザクションの定義された名前 (空の文字列の可能性があります) を返します。
    boolean
    実際のトランザクションがアクティブであるかどうかを返します。これは、新しいトランザクションだけでなく既存のトランザクションへの参加もカバーすることを目的としており、実際のトランザクションがまったく実行されていない場合にのみ false を返します。
    boolean
    このトランザクションが完了したかどうか、つまり、すでにコミットまたはロールバックされているかどうかを返します。
    boolean
    このトランザクションの進行状況をデバッグするかどうかを返します。
    boolean
    このトランザクションが別のトランザクション内でネストされた形式で実行される場合に返します。
    boolean
    このトランザクションに対して新しいトランザクション同期が開かれた場合に返されます。
    boolean
    トランザクションマネージャーが現在のトランザクションを新しいトランザクションと見なすかどうかを返します。それ以外の場合は、既存のトランザクションに参加しているか、そもそも実際のトランザクションで実行されていない可能性があります。
    boolean
    このトランザクションが読み取り専用トランザクションとして定義されている場合に返されます。
    boolean
    この ReactiveTransactionStatus を確認して、ロールバック専用フラグを決定します。
    void
    このトランザクションに完了、つまりコミットまたはロールバックのマークを付けます。
    void
    トランザクションをロールバックのみに設定します。

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

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

    • GenericReactiveTransaction

      public GenericReactiveTransaction(@Nullable StringSE transactionName, @Nullable ObjectSE transaction, boolean newTransaction, boolean newSynchronization, boolean nested, boolean readOnly, boolean debug, @Nullable ObjectSE suspendedResources)
      新しい DefaultReactiveTransactionStatus インスタンスを作成します。
      パラメーター:
      transactionName - トランザクションの定義された名前
      transaction - 内部トランザクション実装の状態を保持できる基になるトランザクションオブジェクト
      newTransaction - トランザクションが新しい場合、それ以外の場合は既存のトランザクションに参加します
      newSynchronization - 指定されたトランザクションに対して新しいトランザクション同期が開かれた場合
      readOnly - トランザクションが読み取り専用としてマークされているかどうか
      debug - このトランザクションを処理するには、デバッグログを有効にする必要がありますか? ここでキャッシュすることで、デバッグシステムを有効にするかどうかをログシステムに問い合わせる繰り返し呼び出しを防ぐことができます。
      suspendedResources - このトランザクションのために中断されたリソースの所有者(存在する場合)
      導入:
      6.1
    • GenericReactiveTransaction

      @DeprecatedSE(since="6.1", forRemoval=true) public GenericReactiveTransaction(@Nullable ObjectSE transaction, boolean newTransaction, boolean newSynchronization, boolean readOnly, boolean debug, @Nullable ObjectSE suspendedResources)
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
  • メソッドの詳細

    • getTransactionName

      public StringSE getTransactionName()
      インターフェースからコピーされた説明: TransactionExecution
      トランザクションの定義された名前 (空の文字列の可能性があります) を返します。

      Spring の宣言的トランザクションの場合、公開される名前は fully-qualified class name + "." + method name (デフォルト)です。

      デフォルトの実装は空の文字列を返します。

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

      public ObjectSE getTransaction()
      基になるトランザクションオブジェクトを返します。
      例外:
      IllegalStateExceptionSE - アクティブなトランザクションがない場合
    • hasTransaction

      public boolean hasTransaction()
      インターフェースからコピーされた説明: TransactionExecution
      実際のトランザクションがアクティブであるかどうかを返します。これは、新しいトランザクションだけでなく既存のトランザクションへの参加もカバーすることを目的としており、実際のトランザクションがまったく実行されていない場合にのみ false を返します。

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

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

      public boolean isNewTransaction()
      インターフェースからコピーされた説明: TransactionExecution
      トランザクションマネージャーが現在のトランザクションを新しいトランザクションと見なすかどうかを返します。それ以外の場合は、既存のトランザクションに参加しているか、そもそも実際のトランザクションで実行されていない可能性があります。

      これは主にトランザクションマネージャーの状態処理のために使用されます。通常、これは意味的に適切であるため、アプリケーション目的には TransactionExecution.hasTransaction() の使用を優先します。

      「新しい」ステータスは、トランザクションマネージャー固有のものにすることができます。実際のネストされたトランザクションに対しては true を返しますが、セーブポイント管理が明示的に公開されている場合 ( TransactionStatus など)、セーブポイントベースのネストされたトランザクションスコープに対しては false を返す可能性があります。あらゆる種類のネストされた実行に対する結合チェックは、TransactionExecution.isNested() によって提供されます。

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

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

      public boolean isNewSynchronization()
      このトランザクションに対して新しいトランザクション同期が開かれた場合に返されます。
    • isNested

      public boolean isNested()
      インターフェースからコピーされた説明: TransactionExecution
      このトランザクションが別のトランザクション内でネストされた形式で実行される場合に返します。

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

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

      public boolean isReadOnly()
      インターフェースからコピーされた説明: TransactionExecution
      このトランザクションが読み取り専用トランザクションとして定義されている場合に返されます。

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

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

      public boolean isDebug()
      このトランザクションの進行状況をデバッグするかどうかを返します。これは、logger.isDebugEnabled() への繰り返し呼び出しを防ぐために、AbstractReactiveTransactionManager によって最適化として使用されます。実際にはクライアントコードを対象としていません。
    • getSuspendedResources

      @Nullable public ObjectSE getSuspendedResources()
      このトランザクションで中断されているリソースの所有者を返します(ある場合)。
    • setRollbackOnly

      public void setRollbackOnly()
      インターフェースからコピーされた説明: TransactionExecution
      トランザクションをロールバックのみに設定します。これにより、トランザクションの唯一の可能な結果はロールバックであり、ロールバックをトリガーする例外をスローする代わりに、トランザクションマネージャーに指示されます。

      デフォルトの実装では、UnsupportedOperationException がスローされます。

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

      public boolean isRollbackOnly()
      この ReactiveTransactionStatus を確認して、ロールバック専用フラグを決定します。

      アプリケーションがこの TransactionStatus オブジェクトで setRollbackOnly を呼び出した場合にのみ "true" を返します。

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

      public void setCompleted()
      このトランザクションに完了、つまりコミットまたはロールバックのマークを付けます。
    • isCompleted

      public boolean isCompleted()
      インターフェースからコピーされた説明: TransactionExecution
      このトランザクションが完了したかどうか、つまり、すでにコミットまたはロールバックされているかどうかを返します。

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

      次で指定:
      インターフェース TransactionExecutionisCompleted