2.18.3 実装時の注意事項
実装時の注意事項を次に示します。
-
afterBeginメソッド,beforeCompletionメソッドまたはafterCompletionメソッドは,対象とするSession Bean(またはその親クラス)でjavax.ejb.SessionSynchronizationインタフェースを実装するか,またはSession Beanでアノテーションを指定した場合だけ,コンテナによって呼び出されます。
Session Beanの開発時にjavax.ejb.SessionSynchronizationインタフェースの実装とアノテーションの指定を両方実施した場合,インタフェースの実装が優先されます。
-
同じアノテーションをSession Beanのクラスで複数回指定した場合,複数回指定されたafterBeginメソッド,beforeCompletionメソッドまたはafterCompletionメソッドのうち,どのメソッドがコンテナによって呼び出されるかは保証されません。
-
アノテーションに規則外のパラメタを指定した場合,アプリケーションの開始に失敗し,KDJE42039-Eメッセージが出力されます。
-
@AfterBeginアノテーション,@BeforeCompletionアノテーションまたは@AfterCompletionアノテーションによって処理のタイミングを設定したメソッドは,ほかのビジネスメソッドと同様に,クライアントから直接呼び出すことができます。ただし,一般的に,コールバックメソッドはビジネスメソッドとしてクライアントに公開されるべきではありません。このため,これらのメソッドのアクセス修飾子には,public以外を宣言することをお勧めします。