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