public class DefaultTransactionStatus extends AbstractTransactionStatus
AbstractPlatformTransactionManager
によって使用される TransactionStatus
インターフェースのデフォルト実装。基礎となる「トランザクションオブジェクト」の概念に基づいています。AbstractPlatformTransactionManager
が内部的に必要とするすべてのステータス情報を保持します。これには、具体的なトランザクションマネージャーの実装によって決定される一般的なトランザクションオブジェクトが含まれます。
SavepointManager
インターフェースを実装するトランザクションオブジェクトへのセーブポイント関連メソッドの委譲をサポートします。
注 : これは、特にないテスト環境でのモックトランザクションマネージャーのため、他の PlatformTransactionManager の実装で使用するためのものではありません。代わりに、プレーンな TransactionStatus
インターフェースの代替 SimpleTransactionStatus
クラスまたはモックを使用してください。
AbstractPlatformTransactionManager
, SavepointManager
, getTransaction()
, AbstractTransactionStatus.createSavepoint()
, AbstractTransactionStatus.rollbackToSavepoint(java.lang.Object)
, AbstractTransactionStatus.releaseSavepoint(java.lang.Object)
, SimpleTransactionStatus
コンストラクターと説明 |
---|
DefaultTransactionStatus(ObjectSE transaction, boolean newTransaction, boolean newSynchronization, boolean readOnly, boolean debug, ObjectSE suspendedResources) 新しい DefaultTransactionStatus インスタンスを作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
void | flush() トランザクションオブジェクトが SmartTransactionObject インターフェースを実装している場合は、トランザクションオブジェクトにフラッシュを委譲します。 |
protected SavepointManager | getSavepointManager() この実装は、基になるトランザクションオブジェクトの SavepointManager インターフェースを公開します(存在する場合)。 |
ObjectSE | getSuspendedResources() このトランザクションで中断されているリソースの所有者を返します(ある場合)。 |
ObjectSE | getTransaction() 基になるトランザクションオブジェクトを返します。 |
boolean | hasTransaction() 実際のトランザクションがアクティブかどうかを返します。 |
boolean | isDebug() このトランザクションの進行状況をデバッグするかどうかを返します。 |
boolean | isGlobalRollbackOnly() トランザクションオブジェクトが SmartTransactionObject インターフェースを実装している場合は、トランザクションオブジェクトをチェックして、ロールバックのみのフラグを決定します。 |
boolean | isNewSynchronization() このトランザクションに対して新しいトランザクション同期が開かれた場合に返されます。 |
boolean | isNewTransaction() 現在のトランザクションが新しいかどうかを返します。それ以外の場合は、既存のトランザクションに参加しているか、最初の実際のトランザクションで実行されていない可能性があります。 |
boolean | isReadOnly() このトランザクションが読み取り専用トランザクションとして定義されている場合に返されます。 |
boolean | isTransactionSavepointManager() 基になるトランザクションが SavepointManager インターフェースを実装しているため、セーブポイントをサポートしているかどうかを返します。 |
createAndHoldSavepoint, createSavepoint, getSavepoint, hasSavepoint, isCompleted, isLocalRollbackOnly, isRollbackOnly, releaseHeldSavepoint, releaseSavepoint, rollbackToHeldSavepoint, rollbackToSavepoint, setCompleted, setRollbackOnly, setSavepoint
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public DefaultTransactionStatus(@Nullable ObjectSE transaction, boolean newTransaction, boolean newSynchronization, boolean readOnly, boolean debug, @Nullable ObjectSE suspendedResources)
DefaultTransactionStatus
インスタンスを作成します。transaction
- 内部トランザクション実装の状態を保持できる基になるトランザクションオブジェクト newTransaction
- トランザクションが新しい場合、それ以外の場合は既存のトランザクションに参加します newSynchronization
- 指定されたトランザクションに対して新しいトランザクション同期が開かれた場合 readOnly
- トランザクションが読み取り専用としてマークされているかどうか debug
- このトランザクションを処理するには、デバッグログを有効にする必要がありますか? ここでキャッシュすることで、デバッグシステムを有効にするかどうかをログシステムに問い合わせる繰り返し呼び出しを防ぐことができます。suspendedResources
- このトランザクションのために中断されたリソースの所有者(存在する場合)public ObjectSE getTransaction()
IllegalStateExceptionSE
- アクティブなトランザクションがない場合 public boolean hasTransaction()
public boolean isNewTransaction()
TransactionExecution
public boolean isNewSynchronization()
public boolean isReadOnly()
public boolean isDebug()
logger.isDebugEnabled()
への繰り返し呼び出しを防ぐために、AbstractPlatformTransactionManager
によって最適化として使用されます。実際にはクライアントコードを対象としていません。@Nullable public ObjectSE getSuspendedResources()
public boolean isGlobalRollbackOnly()
SmartTransactionObject
インターフェースを実装している場合は、トランザクションオブジェクトをチェックして、ロールバックのみのフラグを決定します。 たとえばタイムアウトが発生した場合など、グローバルトランザクション自体がトランザクションコーディネーターによってロールバックのみとマークされている場合、true
を返します。
AbstractTransactionStatus
の isGlobalRollbackOnly
SmartTransactionObject.isRollbackOnly()
protected SavepointManager getSavepointManager()
SavepointManager
インターフェースを公開します(存在する場合)。AbstractTransactionStatus
の getSavepointManager
NestedTransactionNotSupportedException
- セーブポイントがサポートされていない場合 isTransactionSavepointManager()
public boolean isTransactionSavepointManager()
SavepointManager
インターフェースを実装しているため、セーブポイントをサポートしているかどうかを返します。public void flush()
SmartTransactionObject
インターフェースを実装している場合は、トランザクションオブジェクトにフラッシュを委譲します。FlushableSE
の flushSE
TransactionStatus
の flush
AbstractTransactionStatus
の flush
SmartTransactionObject.flush()