列挙型 TransactionAttributeType
- java.lang.ObjectSE
-
- java.lang.EnumSE<TransactionAttributeType>
-
- jakarta.ejb.TransactionAttributeType
- 実装されたすべてのインターフェース:
SerializableSE
,ComparableSE<TransactionAttributeType>
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
の値のみを使用できます。- 導入:
- EJB 3.0
- 関連事項:
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()
この列挙型の定数を含む配列を、宣言されている順序で返します。
列挙定数の詳細
MANDATORY
public static final TransactionAttributeType MANDATORY
クライアントがトランザクションコンテキストに関連付けられている間にクライアントが Enterprise Bean のメソッドを呼び出すと、コンテナーはクライアントのトランザクションコンテキストで Enterprise Bean のメソッドを呼び出します。既存のトランザクションがない場合、例外がスローされます。
REQUIRED
public static final TransactionAttributeType REQUIRED
クライアントがトランザクションコンテキストに関連付けられている間にクライアントが Enterprise Bean のメソッドを呼び出すと、コンテナーはクライアントのトランザクションコンテキストで Enterprise Bean のメソッドを呼び出します。クライアントがトランザクションコンテキストに関連付けられていないときにクライアントが Enterprise Bean のメソッドを呼び出すと、コンテナーは、Enterprise Bean メソッドへのメソッド呼び出しを委譲する前に、新しいトランザクションを自動的に開始します。
REQUIRES_NEW
public static final TransactionAttributeType REQUIRES_NEW
コンテナーは、新しいトランザクションコンテキストでトランザクション属性がREQUIRES_NEW
に設定されている Enterprise Bean メソッドを呼び出す必要があります。クライアントがトランザクションコンテキストに関連付けられていないときにクライアントが Enterprise Bean のメソッドを呼び出すと、コンテナーは、Enterprise Bean ビジネスメソッドへのメソッド呼び出しを委譲する前に、新しいトランザクションを自動的に開始します。
クライアントがトランザクションコンテキストで呼び出した場合、コンテナーは、新しいトランザクションを開始してメソッドを呼び出す前に、トランザクションコンテキストと現在のスレッドとの関連付けを一時停止します。メソッドと新しいトランザクションが完了した後、コンテナーは中断されたトランザクションの関連付けを再開します。
SUPPORTS
public static final TransactionAttributeType SUPPORTS
クライアントがトランザクションコンテキストで呼び出した場合、コンテナーはREQUIRED
のケースで説明したのと同じ手順を実行します。クライアントがトランザクションコンテキストなしで呼び出す場合、コンテナーは
NOT_SUPPORTED
のケースで説明されているのと同じ手順を実行します。SUPPORTS
トランザクション属性は注意して使用する必要があります。これは、実行可能な 2 つのモードによって提供されるトランザクションセマンティクスが異なるためです。両方のモードで正しく実行される Enterprise Bean のみがSUPPORTS
トランザクション属性を使用する必要があります。
NOT_SUPPORTED
public static final TransactionAttributeType NOT_SUPPORTED
コンテナーは、未指定のトランザクションコンテキストを持つトランザクション属性NOT_SUPPORTED
を持つ Enterprise Bean メソッドを呼び出します。クライアントがトランザクションコンテキストを使用して呼び出した場合、コンテナーは、Enterprise Bean のビジネスメソッドを呼び出す前に、トランザクションコンテキストと現在のスレッドの関連付けを一時停止します。コンテナーは、ビジネスメソッドが完了すると、中断された関連付けを再開します。
NEVER
public static final TransactionAttributeType NEVER
クライアントは、トランザクションコンテキストなしで呼び出す必要があり、そうでない場合は例外がスローされます。
メソッドの詳細
values
public static TransactionAttributeType[] values()
この列挙型の定数を含む配列を、宣言されている順序で返します。このメソッドは、次のように定数を反復するために使用できます。for (TransactionAttributeType c : TransactionAttributeType.values()) System.out.println(c);
- 戻り値:
- この列挙型の定数を宣言されている順序で含む配列
valueOf
public static TransactionAttributeType valueOf(StringSE name)
指定された名前を持つこの型の列挙定数を返します。文字列は、この型の列挙定数を宣言するために使用される識別子と正確に一致する必要があります。(余分な空白文字は許可されません。)- パラメーター:
name
- 返される列挙定数の名前。- 戻り値:
- 指定された名前の列挙定数
- 例外:
IllegalArgumentExceptionSE
- この列挙型に指定された名前の定数がない場合NullPointerExceptionSE
- 引数が null の場合