パッケージ jakarta.ejb

インターフェース SessionSynchronization


public interface SessionSynchronization

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

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

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

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

    修飾子と型
    メソッド
    説明
    void
    afterBegin メソッドは、ステートフルセッション Bean インスタンスに、新しいトランザクションが開始されたこと、およびインスタンスの後続のビジネスメソッドがトランザクションのコンテキストで呼び出されることを通知します。
    void
    afterCompletion(boolean committed)
    afterCompletion メソッドは、トランザクションコミットプロトコルが完了したことをステートフルセッション Bean インスタンスに通知し、トランザクションがコミットされたかロールバックされたかをインスタンスに通知します。
    void
    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 をスローしてはなりません。
      関連事項:
    • 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 をスローしてはなりません。
      関連事項:
    • 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 をスローしてはなりません。
      関連事項: