クラス AbstractTransactionStatus
java.lang.ObjectSE
org.springframework.transaction.support.AbstractTransactionStatus
- 実装されたすべてのインターフェース:
FlushableSE
、SavepointManager
、TransactionExecution
、TransactionStatus
- 既知の直属サブクラス
DefaultTransactionStatus
,SimpleTransactionStatus
TransactionStatus
インターフェースの抽象基本実装。 ローカルロールバック専用フラグと完了フラグの処理、および基になる SavepointManager
への委譲を事前実装します。トランザクション内にセーブポイントを保持するオプションも提供します。
基になるトランザクションオブジェクトなどの特定の内部トランザクション処理を想定せず、トランザクション同期メカニズムも想定していません。
- 導入:
- 1.2.3
- 作成者:
- Juergen Hoeller
- 関連事項:
コンストラクターのサマリー
コンストラクターメソッドのサマリー
修飾子と型メソッド説明void
セーブポイントを作成し、トランザクション用に保持します。この実装は、可能であれば、基になるトランザクションの SavepointManager に委譲します。protected ObjectSE
このトランザクションのセーブポイントがあれば、それを取得します。protected SavepointManager
可能であれば、基になるトランザクションの SavepointManager を返します。boolean
このトランザクションが内部的にセーブポイントを保持しているかどうか、つまり、セーブポイントに基づいてネストされたトランザクションとして作成されたかどうかを返します。boolean
このトランザクションが完了したかどうか、つまり、すでにコミットまたはロールバックされているかどうかを返します。boolean
存在する場合、基礎となるトランザクションのグローバルロールバック専用フラグを決定するためのテンプレートメソッド。boolean
この TransactionStatus を確認して、ロールバック専用フラグを決定します。boolean
この TransactionStatus のローカルロールバック専用フラグと、もしあれば、基礎となるトランザクションのグローバルロールバック専用フラグの両方をチェックして、ロールバック専用フラグを決定します。void
トランザクション用に保持されているセーブポイントを解放します。void
releaseSavepoint
(ObjectSE savepoint) この実装は、可能であれば、基になるトランザクションの SavepointManager に委譲します。void
トランザクション用に保持されているセーブポイントにロールバックし、その後すぐにセーブポイントを解放します。void
rollbackToSavepoint
(ObjectSE savepoint) この実装は、可能であれば、基になるトランザクションの SavepointManager に委譲します。void
このトランザクションに完了、つまりコミットまたはロールバックのマークを付けます。void
トランザクションをロールバックのみに設定します。protected void
setSavepoint
(ObjectSE savepoint) このトランザクションのセーブポイントを設定します。クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース org.springframework.transaction.TransactionExecution から継承されたメソッド
getTransactionName, hasTransaction, isNested, isNewTransaction, isReadOnly
インターフェース org.springframework.transaction.TransactionStatus から継承されたメソッド
flush
コンストラクターの詳細
AbstractTransactionStatus
public AbstractTransactionStatus()
メソッドの詳細
setRollbackOnly
public void setRollbackOnly()インターフェースからコピーされた説明:TransactionExecution
トランザクションをロールバックのみに設定します。これにより、トランザクションの唯一の可能な結果はロールバックであり、ロールバックをトリガーする例外をスローする代わりに、トランザクションマネージャーに指示されます。デフォルトの実装では、UnsupportedOperationException がスローされます。
- 次で指定:
- インターフェース
TransactionExecution
のsetRollbackOnly
- 関連事項:
isRollbackOnly
public boolean isRollbackOnly()この TransactionStatus のローカルロールバック専用フラグと、もしあれば、基礎となるトランザクションのグローバルロールバック専用フラグの両方をチェックして、ロールバック専用フラグを決定します。- 次で指定:
- インターフェース
TransactionExecution
のisRollbackOnly
- 関連事項:
isLocalRollbackOnly
public boolean isLocalRollbackOnly()この TransactionStatus を確認して、ロールバック専用フラグを決定します。アプリケーションがこの TransactionStatus オブジェクトで
setRollbackOnly
を呼び出した場合にのみ "true" を返します。isGlobalRollbackOnly
public boolean isGlobalRollbackOnly()存在する場合、基礎となるトランザクションのグローバルロールバック専用フラグを決定するためのテンプレートメソッド。この実装は、常に
false
を返します。setCompleted
public void setCompleted()このトランザクションに完了、つまりコミットまたはロールバックのマークを付けます。isCompleted
public boolean isCompleted()インターフェースからコピーされた説明:TransactionExecution
このトランザクションが完了したかどうか、つまり、すでにコミットまたはロールバックされているかどうかを返します。デフォルトの実装は
false
を返します。- 次で指定:
- インターフェース
TransactionExecution
のisCompleted
hasSavepoint
public boolean hasSavepoint()インターフェースからコピーされた説明:TransactionStatus
このトランザクションが内部的にセーブポイントを保持しているかどうか、つまり、セーブポイントに基づいてネストされたトランザクションとして作成されたかどうかを返します。この方法は、主に診断目的で、
TransactionExecution.isNewTransaction()
と一緒に使用されます。カスタムセーブポイントをプログラムで処理するには、SavepointManager
が提供する操作を使用します。デフォルトの実装は
false
を返します。setSavepoint
このトランザクションのセーブポイントを設定します。PROPAGATION_NESTED に役立ちます。getSavepoint
このトランザクションのセーブポイントがあれば、それを取得します。createAndHoldSavepoint
セーブポイントを作成し、トランザクション用に保持します。- 例外:
NestedTransactionNotSupportedException
- 基になるトランザクションがセーブポイントをサポートしていない場合TransactionException
rollbackToHeldSavepoint
トランザクション用に保持されているセーブポイントにロールバックし、その後すぐにセーブポイントを解放します。releaseHeldSavepoint
トランザクション用に保持されているセーブポイントを解放します。createSavepoint
この実装は、可能であれば、基になるトランザクションの SavepointManager に委譲します。- 次で指定:
- インターフェース
SavepointManager
のcreateSavepoint
- 戻り値:
SavepointManager.rollbackToSavepoint(java.lang.Object)
またはSavepointManager.releaseSavepoint(java.lang.Object)
に渡されるセーブポイントオブジェクト- 例外:
NestedTransactionNotSupportedException
- 基になるトランザクションがセーブポイントをサポートしていない場合TransactionException
- たとえば、トランザクションが適切な状態にないためにセーブポイントを作成できなかった場合- 関連事項:
rollbackToSavepoint
この実装は、可能であれば、基になるトランザクションの SavepointManager に委譲します。- 次で指定:
- インターフェース
SavepointManager
のrollbackToSavepoint
- パラメーター:
savepoint
- ロールバックするセーブポイント- 例外:
NestedTransactionNotSupportedException
- 基になるトランザクションがセーブポイントをサポートしていない場合TransactionException
- ロールバックが失敗した場合- 関連事項:
releaseSavepoint
この実装は、可能であれば、基になるトランザクションの SavepointManager に委譲します。- 次で指定:
- インターフェース
SavepointManager
のreleaseSavepoint
- パラメーター:
savepoint
- リリースするセーブポイント- 例外:
NestedTransactionNotSupportedException
- 基になるトランザクションがセーブポイントをサポートしていない場合TransactionException
- リリースが失敗した場合- 関連事項:
getSavepointManager
可能であれば、基になるトランザクションの SavepointManager を返します。デフォルトの実装では、常に NestedTransactionNotSupportedException がスローされます。
- 例外:
NestedTransactionNotSupportedException
- 基になるトランザクションがセーブポイントをサポートしていない場合