パッケージ jakarta.ejb

列挙型 TransactionAttributeType

  • 実装されたすべてのインターフェース:
    SerializableSEComparableSE<TransactionAttributeType>

    public enum TransactionAttributeType
    extends EnumSE<TransactionAttributeType>
    TransactionAttributeType 列挙は TransactionAttribute アノテーションとともに使用され、セッション Bean またはメッセージ駆動型 Bean のメソッドが有効なトランザクションコンテキストで呼び出されるかどうかを指定します。

    メッセージ駆動型 Bean のメッセージリスナメソッド(またはインターフェース)の場合、REQUIRED および NOT_SUPPORTED 値のみを使用できます。

    Enterprise Bean のタイムアウトコールバックメソッドの場合、REQUIREDREQUIRES_NEWNOT_SUPPORTED 値のみを使用できます。

    セッション Bean の非同期ビジネスメソッドの場合、REQUIREDREQUIRES_NEWNOT_SUPPORTED 値のみを使用できます。

    シングルトンセッション Bean の PostConstruct および PreDestroy ライフサイクルコールバックインターセプターメソッドの場合、REQUIREDREQUIRES_NEWNOT_SUPPORTED 値のみを使用できます。

    Enterprise Bean が SessionSynchronization インターフェースを実装するか、セッション同期アノテーションのいずれかを使用する場合、Bean のメソッドのトランザクション属性には、REQUIREDREQUIRES_NEWMANDATORY の値のみを使用できます。

    導入:
    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 のケースで説明したのと同じ手順を実行します。
    • 列挙定数の詳細

      • 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 の場合