クラス DefaultTransactionStatus

java.lang.ObjectSE
org.springframework.transaction.support.AbstractTransactionStatus
org.springframework.transaction.support.DefaultTransactionStatus
実装されたすべてのインターフェース:
FlushableSESavepointManagerTransactionExecutionTransactionStatus

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

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

SavepointManager インターフェースを実装するトランザクションオブジェクトへのセーブポイント関連メソッドの委譲をサポートします。

: これは、特にないテスト環境でのモックトランザクションマネージャーのため、他の PlatformTransactionManager の実装で使用するためのものではありません。代わりに、プレーンな TransactionStatus インターフェースの代替 SimpleTransactionStatus クラスまたはモックを使用してください。

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

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

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

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

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

    • DefaultTransactionStatus

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

      @DeprecatedSE(since="6.1", forRemoval=true) public DefaultTransactionStatus(@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 (デフォルト)です。

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

      関連事項:
    • getTransaction

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

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

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

      関連事項:
    • isNewTransaction

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

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

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

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

      関連事項:
    • isNewSynchronization

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

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

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

      関連事項:
    • isReadOnly

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

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

      関連事項:
    • isDebug

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

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

      public boolean isGlobalRollbackOnly()
      トランザクションオブジェクトが SmartTransactionObject インターフェースを実装している場合は、トランザクションオブジェクトをチェックして、ロールバックのみのフラグを決定します。

      たとえばタイムアウトが発生した場合など、グローバルトランザクション自体がトランザクションコーディネーターによってロールバックのみとマークされている場合、true を返します。

      オーバーライド:
      クラス AbstractTransactionStatusisGlobalRollbackOnly 
      関連事項:
    • getSavepointManager

      protected SavepointManager getSavepointManager()
      この実装は、基になるトランザクションオブジェクトの SavepointManager インターフェースを公開します(存在する場合)。
      オーバーライド:
      クラス AbstractTransactionStatusgetSavepointManager 
      例外:
      NestedTransactionNotSupportedException - セーブポイントがサポートされていない場合
      関連事項:
    • isTransactionSavepointManager

      public boolean isTransactionSavepointManager()
      基になるトランザクションが SavepointManager インターフェースを実装しているため、セーブポイントをサポートしているかどうかを返します。
      関連事項:
    • flush

      public void flush()
      トランザクションオブジェクトが SmartTransactionObject インターフェースを実装している場合は、トランザクションオブジェクトにフラッシュを委譲します。
      関連事項: