パッケージ jakarta.ejb

インターフェース SessionSynchronization


  • public interface SessionSynchronization

    SessionSynchronization インターフェースにより、ステートフルセッション Bean インスタンスは、トランザクション境界のコンテナーによって通知されます。

    コンテナー管理のトランザクション境界を持つステートフルセッション Bean のみが、セッション同期通知を受信できます。他の Bean 型は、SessionSynchronization インターフェースを実装したり、セッション同期アノテーションを使用したりしてはなりません。

    このインターフェースを実装するために、ステートフルセッション Bean クラスは必要ありません。

    導入:
    EJB 1.0
    • メソッドのサマリー

      すべてのメソッド   インスタンスメソッド   抽象メソッド  
      修飾子と型 メソッド 説明
      voidafterBegin()
      afterBegin メソッドは、ステートフルセッション Bean インスタンスに、新しいトランザクションが開始されたこと、およびインスタンスの後続のビジネスメソッドがトランザクションのコンテキストで呼び出されることを通知します。
      voidafterCompletion​(boolean committed)
      afterCompletion メソッドは、トランザクションコミットプロトコルが完了したことをステートフルセッション Bean インスタンスに通知し、トランザクションがコミットされたかロールバックされたかをインスタンスに通知します。
      voidbeforeCompletion()
      beforeCompletion メソッドは、トランザクションがコミットされることをステートフルセッション Bean インスタンスに通知します。
    • メソッドの詳細

      • afterBegin

        void afterBegin()
                 throws EJBException,
                        RemoteExceptionSE
        afterBegin メソッドは、ステートフルセッション Bean インスタンスに、新しいトランザクションが開始されたこと、およびインスタンスの後続のビジネスメソッドがトランザクションのコンテキストで呼び出されることを通知します。

        インスタンスは、このメソッドを使用して、たとえば、データベースからデータを読み取り、インスタンスフィールドにデータをキャッシュできます。

        このメソッドは、適切なトランザクションコンテキストで実行されます。

        例外:
        EJBException - メソッドによってスローされ、システムレベルのエラーが原因の障害を示します。
        RemoteExceptionSE - この例外は、Enterprise Bean 1.0 仕様用に記述された Enterprise Bean に下位互換性を提供するためにメソッドシグネチャーで定義されています。EJB 1.1 以降の仕様用に記述された Enterprise Bean は、この例外の代わりに jakarta.ejb.EJBException をスローする必要があります。EJB 2.0 以降の仕様用に作成された Enterprise Bean は、java.rmi.RemoteException をスローしてはなりません。
        関連事項:
        AfterBegin
      • beforeCompletion

        void beforeCompletion()
                       throws EJBException,
                              RemoteExceptionSE
        beforeCompletion メソッドは、トランザクションがコミットされようとしていることをステートフルセッション Bean インスタンスに通知します。インスタンスは、このメソッドを使用して、たとえば、キャッシュされたデータをデータベースに書き込むことができます。

        このメソッドは、適切なトランザクションコンテキストで実行されます。

        注意 : インスタンスは、セッションコンテキストで setRollbackOnly メソッドを呼び出すか、例外をスローすることにより、コンテナーにトランザクションをロールバックさせる可能性があります。

        例外:
        EJBException - メソッドによってスローされ、システムレベルのエラーが原因の障害を示します。
        RemoteExceptionSE - この例外は、Enterprise Bean 1.0 仕様用に記述された Enterprise Bean に下位互換性を提供するためにメソッドシグネチャーで定義されています。EJB 1.1 以降の仕様用に記述された Enterprise Bean は、この例外の代わりに jakarta.ejb.EJBException をスローする必要があります。EJB 2.0 以降の仕様用に作成された Enterprise Bean は、java.rmi.RemoteException をスローしてはなりません。
        関連事項:
        BeforeCompletion
      • afterCompletion

        void afterCompletion​(boolean committed)
                      throws EJBException,
                             RemoteExceptionSE
        afterCompletion メソッドは、トランザクションコミットプロトコルが完了したことをステートフルセッション Bean インスタンスに通知し、トランザクションがコミットされたかロールバックされたかをインスタンスに通知します。

        このメソッドは、トランザクションコンテキストなしで実行されます。

        パラメーター:
        committed - トランザクションがコミットされている場合は true、ロールバックされている場合は false。
        例外:
        EJBException - メソッドによってスローされ、システムレベルのエラーが原因の障害を示します。
        RemoteExceptionSE - この例外は、Enterprise Bean 1.0 仕様用に記述された Enterprise Bean に下位互換性を提供するためにメソッドシグネチャーで定義されています。EJB 1.1 以降の仕様用に記述された Enterprise Bean は、この例外の代わりに jakarta.ejb.EJBException をスローする必要があります。EJB 2.0 以降の仕様用に作成された Enterprise Bean は、java.rmi.RemoteException をスローしてはなりません。
        関連事項:
        AfterCompletion