public enum TransactionAttributeType extends EnumSE<TransactionAttributeType>
TransactionAttributeType
列挙は TransactionAttribute
アノテーションとともに使用され、セッション Bean またはメッセージ駆動型 Bean のメソッドが有効なトランザクションコンテキストで呼び出されるかどうかを指定します。 メッセージ駆動型 Bean のメッセージリスナメソッド(またはインターフェース)の場合、REQUIRED
および NOT_SUPPORTED
値のみを使用できます。
Enterprise Bean のタイムアウトコールバックメソッドの場合、REQUIRED
、REQUIRES_NEW
、NOT_SUPPORTED
値のみを使用できます。
セッション Bean の非同期ビジネスメソッドの場合、REQUIRED
、REQUIRES_NEW
、NOT_SUPPORTED
値のみを使用できます。
シングルトンセッション Bean の PostConstruct
および PreDestroy
ライフサイクルコールバックインターセプターメソッドの場合、REQUIRED
、REQUIRES_NEW
、NOT_SUPPORTED
値のみを使用できます。
Enterprise Bean が SessionSynchronization
インターフェースを実装するか、セッション同期アノテーションのいずれかを使用する場合、Bean のメソッドのトランザクション属性には、REQUIRED
、REQUIRES_NEW
、MANDATORY
の値のみを使用できます。
TransactionAttribute
列挙型定数と説明 |
---|
MANDATORY クライアントがトランザクションコンテキストに関連付けられている間にクライアントが Enterprise Bean のメソッドを呼び出すと、コンテナーはクライアントのトランザクションコンテキストで Enterprise Bean のメソッドを呼び出します。 |
NEVER クライアントは、トランザクションコンテキストなしで呼び出す必要があり、そうでない場合は例外がスローされます。 |
NOT_SUPPORTED コンテナーは、未指定のトランザクションコンテキストを持つトランザクション属性 NOT_SUPPORTED を持つ Enterprise Bean メソッドを呼び出します。 |
REQUIRED クライアントがトランザクションコンテキストに関連付けられている間にクライアントが Enterprise Bean のメソッドを呼び出すと、コンテナーはクライアントのトランザクションコンテキストで Enterprise Bean のメソッドを呼び出します。 |
REQUIRES_NEW コンテナーは、新しいトランザクションコンテキストでトランザクション属性が REQUIRES_NEW に設定されている Enterprise Bean メソッドを呼び出す必要があります。 |
SUPPORTS クライアントがトランザクションコンテキストで呼び出した場合、コンテナーは REQUIRED のケースで説明したのと同じ手順を実行します。 |
修飾子と型 | メソッドと説明 |
---|---|
static TransactionAttributeType | valueOf(StringSE name) 指定された名前を持つこの型の列挙定数を返します。 |
static TransactionAttributeType[] | values() この列挙型の定数を含む配列を、宣言されている順序で返します。 |
cloneSE, compareToSE, equalsSE, finalizeSE, getDeclaringClassSE, hashCodeSE, nameSE, ordinalSE, toStringSE, valueOfSE
getClassSE, notifySE, notifyAllSE, waitSE, waitSE, waitSE
public static final TransactionAttributeType MANDATORY
既存のトランザクションがない場合、例外がスローされます。
public static final TransactionAttributeType REQUIRED
クライアントがトランザクションコンテキストに関連付けられていないときにクライアントが Enterprise Bean のメソッドを呼び出すと、コンテナーは、Enterprise Bean メソッドへのメソッド呼び出しを委譲する前に、新しいトランザクションを自動的に開始します。
public static final TransactionAttributeType REQUIRES_NEW
REQUIRES_NEW
に設定されている Enterprise Bean メソッドを呼び出す必要があります。クライアントがトランザクションコンテキストに関連付けられていないときにクライアントが Enterprise Bean のメソッドを呼び出すと、コンテナーは、Enterprise Bean ビジネスメソッドへのメソッド呼び出しを委譲する前に、新しいトランザクションを自動的に開始します。
クライアントがトランザクションコンテキストで呼び出した場合、コンテナーは、新しいトランザクションを開始してメソッドを呼び出す前に、トランザクションコンテキストと現在のスレッドとの関連付けを一時停止します。メソッドと新しいトランザクションが完了した後、コンテナーは中断されたトランザクションの関連付けを再開します。
public static final TransactionAttributeType SUPPORTS
REQUIRED
のケースで説明したのと同じ手順を実行します。 クライアントがトランザクションコンテキストなしで呼び出す場合、コンテナーは NOT_SUPPORTED
のケースで説明されているのと同じ手順を実行します。
SUPPORTS
トランザクション属性は注意して使用する必要があります。これは、実行可能な 2 つのモードによって提供されるトランザクションセマンティクスが異なるためです。両方のモードで正しく実行される Enterprise Bean のみが SUPPORTS
トランザクション属性を使用する必要があります。
public static final TransactionAttributeType NOT_SUPPORTED
NOT_SUPPORTED
を持つ Enterprise Bean メソッドを呼び出します。クライアントがトランザクションコンテキストを使用して呼び出した場合、コンテナーは、Enterprise Bean のビジネスメソッドを呼び出す前に、トランザクションコンテキストと現在のスレッドの関連付けを一時停止します。コンテナーは、ビジネスメソッドが完了すると、中断された関連付けを再開します。
public static final TransactionAttributeType NEVER
public static TransactionAttributeType[] values()
for (TransactionAttributeType c : TransactionAttributeType.values()) System.out.println(c);
public static TransactionAttributeType valueOf(StringSE name)
name
- 返される列挙定数の名前。IllegalArgumentExceptionSE
- この列挙型に指定された名前の定数がない場合 NullPointerExceptionSE
- 引数が null の場合 Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.