パッケージ 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
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
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
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 をスローしてはなりません。- 関連事項: