クラス GenericReactiveTransaction
- 実装されているすべてのインターフェース:
ReactiveTransaction,TransactionExecution
AbstractReactiveTransactionManager によって使用される ReactiveTransaction インターフェースのデフォルト実装。基礎となる「トランザクションオブジェクト」の概念に基づいています。AbstractReactiveTransactionManager が内部的に必要とするすべてのステータス情報を保持します。これには、具体的なトランザクションマネージャーの実装によって決定される一般的なトランザクションオブジェクトが含まれます。
注 : これは、特にないテスト環境でのモックトランザクションマネージャーのため、他の ReactiveTransactionManager の実装で使用するためのものではありません。
- 導入:
- 5.2
- 作成者:
- Mark Paluch, Juergen Hoeller
- 関連事項:
コンストラクターの概要
コンストラクターコンストラクター説明GenericReactiveTransaction(ObjectSE transaction, boolean newTransaction, boolean newSynchronization, boolean readOnly, boolean debug, ObjectSE suspendedResources) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。GenericReactiveTransaction(StringSE transactionName, ObjectSE transaction, boolean newTransaction, boolean newSynchronization, boolean nested, boolean readOnly, boolean debug, ObjectSE suspendedResources) 新しいDefaultReactiveTransactionStatusインスタンスを作成します。メソッドのサマリー
修飾子と型メソッド説明このトランザクションで中断されているリソースの所有者を返します(ある場合)。基になるトランザクションオブジェクトを返します。トランザクションの定義された名前 (空の文字列の可能性があります) を返します。boolean実際のトランザクションがアクティブであるかどうかを返します。これは、新しいトランザクションだけでなく既存のトランザクションへの参加もカバーすることを目的としており、実際のトランザクションがまったく実行されていない場合にのみfalseを返します。booleanこのトランザクションが完了したかどうか、つまり、すでにコミットまたはロールバックされているかどうかを返します。booleanisDebug()このトランザクションの進行状況をデバッグするかどうかを返します。booleanisNested()このトランザクションが別のトランザクション内でネストされた形式で実行される場合に返します。booleanこのトランザクションに対して新しいトランザクション同期が開かれた場合に返されます。booleanトランザクションマネージャーが現在のトランザクションを新しいトランザクションと見なすかどうかを返します。それ以外の場合は、既存のトランザクションに参加しているか、そもそも実際のトランザクションで実行されていない可能性があります。booleanこのトランザクションが読み取り専用トランザクションとして定義されている場合に返されます。booleanこの ReactiveTransactionStatus を確認して、ロールバック専用フラグを決定します。voidこのトランザクションに完了、つまりコミットまたはロールバックのマークを付けます。voidトランザクションをロールバックのみに設定します。
コンストラクターの詳細
GenericReactiveTransaction
public GenericReactiveTransaction(@Nullable StringSE transactionName, @Nullable ObjectSE transaction, boolean newTransaction, boolean newSynchronization, boolean nested, boolean readOnly, boolean debug, @Nullable ObjectSE suspendedResources) 新しいDefaultReactiveTransactionStatusインスタンスを作成します。- パラメーター:
transactionName- トランザクションの定義された名前transaction- 内部トランザクション実装の状態を保持できる基になるトランザクションオブジェクトnewTransaction- トランザクションが新しい場合、それ以外の場合は既存のトランザクションに参加しますnewSynchronization- 指定されたトランザクションに対して新しいトランザクション同期が開かれた場合readOnly- トランザクションが読み取り専用としてマークされているかどうかdebug- このトランザクションを処理するには、デバッグログを有効にする必要がありますか? ここでキャッシュすることで、デバッグシステムを有効にするかどうかをログシステムに問い合わせる繰り返し呼び出しを防ぐことができます。suspendedResources- このトランザクションのために中断されたリソースの所有者(存在する場合)- 導入:
- 6.1
GenericReactiveTransaction
@DeprecatedSE(since="6.1", forRemoval=true) public GenericReactiveTransaction(@Nullable ObjectSE transaction, boolean newTransaction, boolean newSynchronization, boolean readOnly, boolean debug, @Nullable ObjectSE suspendedResources) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
メソッドの詳細
getTransactionName
インターフェースからコピーされた説明:TransactionExecutionトランザクションの定義された名前 (空の文字列の可能性があります) を返します。Spring の宣言的トランザクションの場合、公開される名前は
fully-qualified class name + "." + method name(デフォルト)です。デフォルトの実装は空の文字列を返します。
- 次で指定:
- インターフェース
TransactionExecutionのgetTransactionName - 関連事項:
getTransaction
基になるトランザクションオブジェクトを返します。- 例外:
IllegalStateExceptionSE- アクティブなトランザクションがない場合
hasTransaction
public boolean hasTransaction()インターフェースからコピーされた説明:TransactionExecution実際のトランザクションがアクティブであるかどうかを返します。これは、新しいトランザクションだけでなく既存のトランザクションへの参加もカバーすることを目的としており、実際のトランザクションがまったく実行されていない場合にのみfalseを返します。デフォルトの実装は
trueを返します。isNewTransaction
public boolean isNewTransaction()インターフェースからコピーされた説明:TransactionExecutionトランザクションマネージャーが現在のトランザクションを新しいトランザクションと見なすかどうかを返します。それ以外の場合は、既存のトランザクションに参加しているか、そもそも実際のトランザクションで実行されていない可能性があります。これは主にトランザクションマネージャーの状態処理のために使用されます。通常、これは意味的に適切であるため、アプリケーション目的には
TransactionExecution.hasTransaction()の使用を優先します。「新しい」ステータスはトランザクションマネージャー固有のものである可能性があります。たとえば、実際のネストされたトランザクションに対しては
trueを返しますが、セーブポイント管理が明示的に公開されている場合 (TransactionStatusなど)、セーブポイントベースのネストされたトランザクションスコープに対してはfalseを返す可能性があります。あらゆる種類のネストされた実行に対する複合チェックは、TransactionExecution.isNested()によって提供されます。デフォルトの実装は
trueを返します。isNewSynchronization
public boolean isNewSynchronization()このトランザクションに対して新しいトランザクション同期が開かれた場合に返されます。isNested
public boolean isNested()インターフェースからコピーされた説明:TransactionExecutionこのトランザクションが別のトランザクション内でネストされた形式で実行される場合に返します。デフォルトの実装は
falseを返します。isReadOnly
public boolean isReadOnly()インターフェースからコピーされた説明:TransactionExecutionこのトランザクションが読み取り専用トランザクションとして定義されている場合に返されます。デフォルトの実装は
falseを返します。- 次で指定:
- インターフェース
TransactionExecutionのisReadOnly - 関連事項:
isDebug
public boolean isDebug()このトランザクションの進行状況をデバッグするかどうかを返します。これは、logger.isDebugEnabled()への繰り返し呼び出しを防ぐために、AbstractReactiveTransactionManagerによって最適化として使用されます。実際にはクライアントコードを対象としていません。getSuspendedResources
このトランザクションで中断されているリソースの所有者を返します(ある場合)。setRollbackOnly
public void setRollbackOnly()インターフェースからコピーされた説明:TransactionExecutionトランザクションをロールバックのみに設定します。これにより、トランザクションの唯一の可能な結果はロールバックであり、ロールバックをトリガーする例外をスローする代わりに、トランザクションマネージャーに指示されます。デフォルトの実装では、UnsupportedOperationException がスローされます。
- 次で指定:
- インターフェース
TransactionExecutionのsetRollbackOnly - 関連事項:
isRollbackOnly
public boolean isRollbackOnly()この ReactiveTransactionStatus を確認して、ロールバック専用フラグを決定します。アプリケーションがこの TransactionStatus オブジェクトで
setRollbackOnlyを呼び出した場合にのみ "true" を返します。- 次で指定:
- インターフェース
TransactionExecutionのisRollbackOnly - 関連事項:
setCompleted
public void setCompleted()このトランザクションに完了、つまりコミットまたはロールバックのマークを付けます。isCompleted
public boolean isCompleted()インターフェースからコピーされた説明:TransactionExecutionこのトランザクションが完了したかどうか、つまり、すでにコミットまたはロールバックされているかどうかを返します。デフォルトの実装は
falseを返します。- 次で指定:
- インターフェース
TransactionExecutionのisCompleted