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