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