4.3.2 Stateful Session Bean実装時の注意事項
Stateful Session Beanを実装するときの注意事項を示します。
- 〈この項の構成〉
(1) removeメソッドまたは@Removeアノテーションを指定したメソッドによるEJBインスタンスの削除とリファレンスの解放
-
ホームインタフェースを使用してStateful Session Beanを呼び出す場合,ホームインタフェースのcreateメソッドを呼び出してリファレンスを取得しますが,Session Beanの呼び出しが完了したあとに,必ずremoveメソッドを呼び出して,EJBインスタンスの削除とリファレンスを解放してください。
-
ビジネスインタフェースを使用してStateful Session Beanを呼び出す場合,ビジネスメソッドの呼び出しが完了したあとに,必ず@Removeアノテーションを指定したメソッドを呼び出して,EJBインスタンスを削除し,リファレンスを解放してください。
-
EJBインスタンスの削除およびリファレンスの解放をしない場合,J2EEサーバ上のメモリを消費したままの状態になります。
(2) Beanクラスの共有についての注意
同じSession Beanを同じJ2EEアプリケーション内でStateful Session Bean,およびStateless Session Beanとして同時に利用しないでください。
(3) SessionSynchronizationのインスタンスの破棄についての注意
SessionSynchronizationのbeforeCompletionメソッドおよびafterCompletionメソッドでシステム例外が発生した場合,EJBコンテナでは該当するSession Beanのインスタンスを破棄しません。