EJBタイマーサービスを利用したいEJBアプリケーションは、Enterprise Beanクラスにjavax.ejb.TimedObjectインタフェースを実装する必要があります。EJBタイマーサービスを利用するEnterprise Bean自身かその親クラスで実装してください。
javax.ejb.TimedObjectインタフェースにはejbTimeoutメソッドが一つのみ宣言されています。
以下のようにEnterprise Beanに実装してください。
例
実装例(Stateless Session Beanの場合)
public class Enterprise Bean名
implements javax.ejb.SessionBean, javax.ejb.TimedObject
{
・・・
public void ejbTimeout(javax.ejb.Timer timer) {
// 予定時刻に実行するビジネスロジックを
// ここに記述します
}
}EJBタイマーサービスに登録した予定時刻になるとEJBコンテナはejbTimeoutメソッドを呼び出します。予定時刻に実行したいビジネスロジックをejbTimeoutメソッドに記述してください。
ejbTimeoutメソッドから実行可能なメソッドは以下を参照してください。
STATELESS Session Beanの場合
“第12章 Session Beanの実装”の“12.6.3 Enterprise Beanクラスのメソッドが実行可能な操作”
Entity Beanの場合
“第13章 Entity Beanの実装”の“13.6.14 Enterprise Beanクラスのメソッドが実行可能な操作”
Message-driven Beanの場合
“第14章 Message-driven Beanの実装”の“14.2.3 Enterprise Beanクラスのメソッドが実行可能な操作”