パッケージ jakarta.ejb
インターフェース SessionSynchronization
public interface SessionSynchronization
SessionSynchronization インターフェースにより、ステートフルセッション Bean インスタンスは、トランザクション境界のコンテナーによって通知されます。
コンテナー管理のトランザクション境界を持つステートフルセッション Bean のみが、セッション同期通知を受信できます。他の Bean 型は、SessionSynchronization インターフェースを実装したり、セッション同期アノテーションを使用したりしてはなりません。
このインターフェースを実装するために、ステートフルセッション Bean クラスは必要ありません。
- 導入:
- EJB 1.0
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 void
afterBegin()
afterBegin
メソッドは、ステートフルセッション Bean インスタンスに、新しいトランザクションが開始されたこと、およびインスタンスの後続のビジネスメソッドがトランザクションのコンテキストで呼び出されることを通知します。void
afterCompletion(boolean committed)
afterCompletion
メソッドは、トランザクションコミットプロトコルが完了したことをステートフルセッション Bean インスタンスに通知し、トランザクションがコミットされたかロールバックされたかをインスタンスに通知します。void
beforeCompletion()
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