2.11.2 Stateful Session Beanのタイムアウト
Stateful Session Beanが最後にアクセスされた時点からの経過時間を監視し,指定された時間が経過してもクライアントからアクセスされない場合,タイマによってStateful Session Beanを削除する機能です。EJBコンテナでは,タイムアウト時間を指定できます。ただし,トランザクション中のStateful Session Beanについては,削除の対象になりません。
なお,タイムアウトによって削除されたStateful Session Beanを呼び出すと,インタフェースの種類によって,次の例外が送出されます。
-
リモートコンポーネントインタフェースの場合
java.rmi.NoSuchObjectExceptionが送出されます。
-
ローカルコンポーネントインタフェースの場合
java.ejb.NoSuchObjectLocalExceptionが送出されます。
-
ビジネスインタフェースの場合
javax.ejb.NoSuchEJBExceptionが送出されます。ただし,ビジネスインタフェースがjava.rmi.Remoteを継承している場合は,java.rmi.NoSuchObjectExceptionが送出されます。
Stateful Session Beanのタイムアウトの設定は,J2EEアプリケーションに含まれるSession Beanの属性(プロパティ)として設定します。設定方法については,「2.11.6 cosminexus.xmlでの定義」を参照してください。