クラス 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

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

    • getTransaction

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

      public boolean hasTransaction()
      実際のトランザクションがアクティブかどうかを返します。
    • isNewTransaction

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

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

      public boolean isReadOnly()
      このトランザクションが読み取り専用トランザクションとして定義されている場合に返されます。
    • 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 インターフェースを実装している場合は、トランザクションオブジェクトにフラッシュを委譲します。
      次で指定:
      インターフェース FlushableSEflush 
      次で指定:
      インターフェース TransactionStatusflush 
      オーバーライド:
      クラス AbstractTransactionStatusflush 
      関連事項: