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, waitSEisNewTransactionpublic void setRollbackOnly()
TransactionExecutionTransactionExecution 内の setRollbackOnly public boolean isRollbackOnly()
TransactionExecution 内の isRollbackOnly isLocalRollbackOnly(), isGlobalRollbackOnly()public boolean isLocalRollbackOnly()
アプリケーションがこの TransactionStatus オブジェクトで setRollbackOnly を呼び出した場合にのみ "true" を返します。
public boolean isGlobalRollbackOnly()
この実装は、常に false を返します。
public void setCompleted()
public boolean isCompleted()
TransactionExecutionTransactionExecution 内の isCompleted public boolean hasSavepoint()
TransactionStatus この方法は、主に診断目的で、TransactionExecution.isNewTransaction() と一緒に使用されます。カスタムセーブポイントをプログラムで処理するには、SavepointManager が提供する操作を使用します。
protected void setSavepoint(@Nullable ObjectSE savepoint)
public void createAndHoldSavepoint()
throws TransactionExceptionNestedTransactionNotSupportedException - 基になるトランザクションがセーブポイントをサポートしていない場合 TransactionExceptionpublic void rollbackToHeldSavepoint()
throws TransactionExceptionpublic void releaseHeldSavepoint()
throws TransactionExceptionpublic 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