クラス DefaultTransactionStatus
- 実装されたすべてのインターフェース:
FlushableSE
、SavepointManager
、TransactionExecution
、TransactionStatus
AbstractPlatformTransactionManager
によって使用される TransactionStatus
インターフェースのデフォルト実装。基礎となる「トランザクションオブジェクト」の概念に基づいています。AbstractPlatformTransactionManager
が内部的に必要とするすべてのステータス情報を保持します。これには、具体的なトランザクションマネージャーの実装によって決定される一般的なトランザクションオブジェクトが含まれます。
SavepointManager
インターフェースを実装するトランザクションオブジェクトへのセーブポイント関連メソッドの委譲をサポートします。
注 : これは、特にないテスト環境でのモックトランザクションマネージャーのため、他の PlatformTransactionManager の実装で使用するためのものではありません。代わりに、プレーンな TransactionStatus
インターフェースの代替 SimpleTransactionStatus
クラスまたはモックを使用してください。
コンストラクターのサマリー
コンストラクターコンストラクター説明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
flush()
トランザクションオブジェクトがSmartTransactionObject
インターフェースを実装している場合は、トランザクションオブジェクトにフラッシュを委譲します。protected SavepointManager
この実装は、基になるトランザクションオブジェクトのSavepointManager
インターフェースを公開します(存在する場合)。このトランザクションで中断されているリソースの所有者を返します(ある場合)。基になるトランザクションオブジェクトを返します。トランザクションの定義された名前 (空の文字列の可能性があります) を返します。boolean
実際のトランザクションがアクティブであるかどうかを返します。これは、新しいトランザクションだけでなく既存のトランザクションへの参加もカバーすることを目的としており、実際のトランザクションがまったく実行されていない場合にのみfalse
を返します。boolean
isDebug()
このトランザクションの進行状況をデバッグするかどうかを返します。boolean
トランザクションオブジェクトがSmartTransactionObject
インターフェースを実装している場合は、トランザクションオブジェクトをチェックして、ロールバックのみのフラグを決定します。boolean
isNested()
このトランザクションが別のトランザクション内でネストされた形式で実行される場合に返します。boolean
このトランザクションに対して新しいトランザクション同期が開かれた場合に返されます。boolean
トランザクションマネージャーが現在のトランザクションを新しいトランザクションと見なすかどうかを返します。それ以外の場合は、既存のトランザクションに参加しているか、そもそも実際のトランザクションで実行されていない可能性があります。boolean
このトランザクションが読み取り専用トランザクションとして定義されている場合に返されます。boolean
基になるトランザクションがSavepointManager
インターフェースを実装しているため、セーブポイントをサポートしているかどうかを返します。クラス org.springframework.transaction.support.AbstractTransactionStatus から継承されたメソッド
createAndHoldSavepoint, createSavepoint, getSavepoint, hasSavepoint, isCompleted, isLocalRollbackOnly, isRollbackOnly, releaseHeldSavepoint, releaseSavepoint, rollbackToHeldSavepoint, rollbackToSavepoint, setCompleted, setRollbackOnly, setSavepoint
コンストラクターの詳細
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
インターフェースからコピーされた説明:TransactionExecution
トランザクションの定義された名前 (空の文字列の可能性があります) を返します。Spring の宣言的トランザクションの場合、公開される名前は
fully-qualified class name + "." + method name
(デフォルト)です。デフォルトの実装は空の文字列を返します。
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
このトランザクションで中断されているリソースの所有者を返します(ある場合)。isGlobalRollbackOnly
public boolean isGlobalRollbackOnly()トランザクションオブジェクトがSmartTransactionObject
インターフェースを実装している場合は、トランザクションオブジェクトをチェックして、ロールバックのみのフラグを決定します。たとえばタイムアウトが発生した場合など、グローバルトランザクション自体がトランザクションコーディネーターによってロールバックのみとマークされている場合、
true
を返します。- オーバーライド:
- クラス
AbstractTransactionStatus
のisGlobalRollbackOnly
- 関連事項:
getSavepointManager
この実装は、基になるトランザクションオブジェクトのSavepointManager
インターフェースを公開します(存在する場合)。- オーバーライド:
- クラス
AbstractTransactionStatus
のgetSavepointManager
- 例外:
NestedTransactionNotSupportedException
- セーブポイントがサポートされていない場合- 関連事項:
isTransactionSavepointManager
public boolean isTransactionSavepointManager()基になるトランザクションがSavepointManager
インターフェースを実装しているため、セーブポイントをサポートしているかどうかを返します。flush
public void flush()トランザクションオブジェクトがSmartTransactionObject
インターフェースを実装している場合は、トランザクションオブジェクトにフラッシュを委譲します。