public enum Propagation extends EnumSE<Propagation>
TransactionDefinition
インターフェースに対応する、Transactional
アノテーションで使用するトランザクション伝搬動作を表す列挙体。列挙型定数と説明 |
---|
MANDATORY 現在のトランザクションをサポートし、存在しない場合は例外をスローします。 |
NESTED 現在のトランザクションが存在する場合はネストされたトランザクション内で実行し、それ以外の場合は PROPAGATION_REQUIRED のように動作します。 |
NEVER 非トランザクションで実行し、トランザクションが存在する場合は例外をスローします。 |
NOT_SUPPORTED 非トランザクションで実行し、現在のトランザクションが存在する場合はそれを一時停止します。 |
REQUIRED 現在のトランザクションをサポートし、存在しない場合は新しいトランザクションを作成します。 |
REQUIRES_NEW 新しいトランザクションを作成し、存在する場合は現在のトランザクションを一時停止します。 |
SUPPORTS 現在のトランザクションをサポートし、存在しない場合は非トランザクションで実行します。 |
修飾子と型 | メソッドと説明 |
---|---|
int | value() |
static Propagation | valueOf(StringSE name) 指定された名前を持つこの型の列挙定数を返します。 |
static Propagation[] | values() この列挙型の定数を含む配列を、宣言されている順序で返します。 |
cloneSE, compareToSE, equalsSE, finalizeSE, getDeclaringClassSE, hashCodeSE, nameSE, ordinalSE, toStringSE, valueOfSE
getClassSE, notifySE, notifyAllSE, waitSE, waitSE, waitSE
public static final Propagation REQUIRED
これは、トランザクションアノテーションのデフォルト設定です。
public static final Propagation SUPPORTS
メモ: トランザクション同期を使用するトランザクションマネージャーの場合、PROPAGATION_SUPPORTS は、同期が適用されるトランザクションスコープを定義するため、トランザクションがまったくない場合とは少し異なります。結果として、同じリソース(JDBC 接続、Hibernate セッションなど)が指定されたスコープ全体で共有されます。これは、トランザクションマネージャーの実際の同期構成に依存することに注意してください。
public static final Propagation MANDATORY
public static final Propagation REQUIRES_NEW
注意 : 実際のトランザクションの停止は、すべてのトランザクションマネージャーですぐに使用できるわけではありません。これは特に JtaTransactionManager
に当てはまります。JtaTransactionManager
では、javax.transaction.TransactionManager
を使用可能にする必要があります(標準 Java EE ではサーバー固有です)。
public static final Propagation NOT_SUPPORTED
注意 : 実際のトランザクションの停止は、すべてのトランザクションマネージャーですぐに使用できるわけではありません。これは特に JtaTransactionManager
に当てはまります。JtaTransactionManager
では、javax.transaction.TransactionManager
を使用可能にする必要があります(標準 Java EE ではサーバー固有です)。
public static final Propagation NEVER
public static final Propagation NESTED
メモ: ネストされたトランザクションの実際の作成は、特定のトランザクションマネージャーでのみ機能します。すぐに利用できる、これは JDBC 3.0 ドライバーで作業する場合の JDBCDataSourceTransactionManager にのみ適用されます。一部の JTA プロバイダーは、ネストされたトランザクションもサポートする場合があります。
public static Propagation[] values()
for (Propagation c : Propagation.values()) System.out.println(c);
public static Propagation valueOf(StringSE name)
name
- 返される列挙定数の名前。IllegalArgumentExceptionSE
- この列挙型に指定された名前の定数がない場合 NullPointerExceptionSE
- 引数が null の場合 public int value()