public abstract class AbstractTransactionStatus extends java.lang.Object implements TransactionStatus
TransactionStatus
インターフェースの抽象基本実装。 ローカルロールバック専用フラグと完了フラグの処理、および基になる SavepointManager
への委譲を事前実装します。トランザクション内にセーブポイントを保持するオプションも提供します。
基になるトランザクションオブジェクトなどの特定の内部トランザクション処理を想定せず、トランザクション同期メカニズムも想定していません。
setRollbackOnly()
, isRollbackOnly()
, setCompleted()
, isCompleted()
, getSavepointManager()
, SimpleTransactionStatus
, DefaultTransactionStatus
コンストラクターと説明 |
---|
AbstractTransactionStatus() |
修飾子と型 | メソッドと説明 |
---|---|
void | createAndHoldSavepoint() セーブポイントを作成し、トランザクション用に保持します。 |
java.lang.Object | createSavepoint() この実装は、可能であれば、基になるトランザクションの SavepointManager に委譲します。 |
void | flush() この実装は空であり、フラッシュはノーオペレーションと見なされます。 |
protected java.lang.Object | getSavepoint() このトランザクションのセーブポイントがあれば、それを取得します。 |
protected SavepointManager | getSavepointManager() 可能であれば、基になるトランザクションの SavepointManager を返します。 |
boolean | hasSavepoint() このトランザクションが内部的にセーブポイントを保持しているかどうか、つまり、セーブポイントに基づいてネストされたトランザクションとして作成されたかどうかを返します。 |
boolean | isCompleted() このトランザクションが完了したかどうか、つまり、すでにコミットまたはロールバックされているかどうかを返します。 |
boolean | isGlobalRollbackOnly() 存在する場合、基礎となるトランザクションのグローバルロールバック専用フラグを決定するためのテンプレートメソッド。 |
boolean | isLocalRollbackOnly() この TransactionStatus を確認して、ロールバック専用フラグを決定します。 |
boolean | isRollbackOnly() この TransactionStatus のローカルロールバック専用フラグと、もしあれば、基礎となるトランザクションのグローバルロールバック専用フラグの両方をチェックして、ロールバック専用フラグを決定します。 |
void | releaseHeldSavepoint() トランザクション用に保持されているセーブポイントを解放します。 |
void | releaseSavepoint(java.lang.Object savepoint) この実装は、可能であれば、基になるトランザクションの SavepointManager に委譲します。 |
void | rollbackToHeldSavepoint() トランザクション用に保持されているセーブポイントにロールバックし、その後すぐにセーブポイントを解放します。 |
void | rollbackToSavepoint(java.lang.Object savepoint) この実装は、可能であれば、基になるトランザクションの SavepointManager に委譲します。 |
void | setCompleted() このトランザクションに完了、つまりコミットまたはロールバックのマークを付けます。 |
void | setRollbackOnly() トランザクションをロールバックのみに設定します。 |
protected void | setSavepoint(java.lang.Object savepoint) このトランザクションのセーブポイントを設定します。 |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
isNewTransaction
public void setRollbackOnly()
TransactionStatus
これは主に、実際のコミット / ロールバックの決定がコンテナーによって行われる TransactionTemplate
または TransactionInterceptor
によって管理されるトランザクションを対象としています。
public boolean isRollbackOnly()
TransactionStatus
の isRollbackOnly
isLocalRollbackOnly()
, isGlobalRollbackOnly()
public boolean isLocalRollbackOnly()
アプリケーションがこの TransactionStatus オブジェクトで setRollbackOnly
を呼び出した場合にのみ "true" を返します。
public boolean isGlobalRollbackOnly()
この実装は、常に false
を返します。
public void flush()
java.io.Flushable
の flush
TransactionStatus
の flush
public void setCompleted()
public boolean isCompleted()
TransactionStatus
protected void setSavepoint(@Nullable java.lang.Object savepoint)
@Nullable protected java.lang.Object getSavepoint()
public boolean hasSavepoint()
TransactionStatus
この方法は、主に診断目的で、TransactionStatus.isNewTransaction()
と一緒に使用されます。カスタムセーブポイントをプログラムで処理するには、SavepointManager
が提供する操作を使用します。
public void createAndHoldSavepoint() throws TransactionException
NestedTransactionNotSupportedException
- 基になるトランザクションがセーブポイントをサポートしていない場合 TransactionException
public void rollbackToHeldSavepoint() throws TransactionException
public void releaseHeldSavepoint() throws TransactionException
public java.lang.Object createSavepoint() throws TransactionException
SavepointManager
の createSavepoint
SavepointManager.rollbackToSavepoint(java.lang.Object)
または SavepointManager.releaseSavepoint(java.lang.Object)
に渡されるセーブポイントオブジェクト NestedTransactionNotSupportedException
- 基になるトランザクションがセーブポイントをサポートしていない場合 TransactionException
- たとえば、トランザクションが適切な状態にないためにセーブポイントを作成できなかった場合 getSavepointManager()
, SavepointManager.createSavepoint()
public void rollbackToSavepoint(java.lang.Object savepoint) throws TransactionException
SavepointManager
の rollbackToSavepoint
savepoint
- ロールバックするセーブポイント NestedTransactionNotSupportedException
- 基になるトランザクションがセーブポイントをサポートしていない場合 TransactionException
- ロールバックが失敗した場合 getSavepointManager()
, SavepointManager.rollbackToSavepoint(Object)
public void releaseSavepoint(java.lang.Object savepoint) throws TransactionException
SavepointManager
の releaseSavepoint
savepoint
- リリースするセーブポイント NestedTransactionNotSupportedException
- 基になるトランザクションがセーブポイントをサポートしていない場合 TransactionException
- リリースが失敗した場合 getSavepointManager()
, SavepointManager.releaseSavepoint(Object)
protected SavepointManager getSavepointManager()
デフォルトの実装では、常に NestedTransactionNotSupportedException がスローされます。
NestedTransactionNotSupportedException
- 基になるトランザクションがセーブポイントをサポートしていない場合