エンタープライズ Bean (EJB) パーシスタント・タイマーの管理
アプリケーションまたはモジュールは、自動的またはプログラマチックに、データベースに保管される EJB パーシスタント・タイマーを作成できます。データベース内にあるパーシスタント・タイマーの表示、およびアプリケーションと関連付けられたパーシスタント・タイマーのすべてまたは一部の削除をするための MXBean が用意されています。
このタスクについて
EJB パーシスタント・タイマーを管理する最良の方法は、タイマーを作成したアプリケーションを通して管理することです。 タイマーを作成したアプリケーションは、なぜタイマーが作成されたのかについてのコンテキストや、タイマーが有効期限に達したときにタイマーが実行するアクションそのものを提供できます。しかし、 アプリケーションの開発および診断目的のため、EJB タイマー・サービスによって提供されている MXBean com.ibm.websphere.ejbcontainer.mbean.EJBPersistentTimerServiceMXBean が実行できるのは、基本的なタイマー管理機能です。
この MXBean は、アプリケーション、モジュール、または特定の Bean と関連付けられた EJB パーシスタント・タイマーを検出する操作を提供します。表示可能な情報には、 タイマーが関連付けられている Bean の名前、およびタイマーの有効期限が切れるスケジュールがあります。タイマーと関連付けられたアプリケーション固有データは表示できないことがあります。特定のタイマーを取り消す操作、 および、アプリケーション、モジュール、または Bean に関連付けられているすべてのタイマーを取り消す操作も提供されています。
EJB API ではタイマー作成時に固有 ID を提供するメカニズムは提供されていませんが、タイマーがデータベース内に保管されるときに固有 ID がタイマーに関連付けられ、データベースへの 1 次キーとして使用されます。タイマー ID をプログラマチックに取得する方法はありませんが、 ID は MXBean 'get' 操作で提供される表示可能な情報の一部です。ID は、タイマーが関係するエラーがあった場合のログに含まれます。また、 ID は、'cancelTimer' MXBean 操作によって特定のタイマーを取り消すために使用される値です。
注: すべての MXBean 操作は、自動パーシスタント・タイマーとプログラマチックなパーシスタント・タイマーの両方で同じことを実行します。