Apache-tomee で実行する次のコードがあります。コーディングに eclipse を使用しています。アプリケーションの起動時に @Schedule アノテーションを使用して単純なスケジュール ジョブを実行したいと考えています。
@Startup
@Singleton
public class ScheduleEJB {
private static int count = 0;
@Schedule(second="*/10", minute="*", hour="*", info="MyTimer")
public void execute() {
System.out.println("its running count..."+count);
count++;
}
}
このコードを Tomee にデプロイすると、次のメッセージが表示され、起動時にスケジュール メソッド execute() を自動的に実行できません。
2012 年 12 月 21 日 9:59:45 AM org.quartz.impl.StdSchedulerFactory インスタンス化
情報
: ThreadExecutor
のデフォルト実装の使用
class org.quartz.core.SchedulerSignalerImpl
2012 年 12 月 21 日 9:59:45 AM org.quartz.core.QuartzScheduler
INFO: Quartz Scheduler v.2.1.6 が作成されました。
2012 年 12 月 21 日 9:59:45 AM org.quartz.simpl.RAMJobStore 初期化
情報: RAMJobStore が初期化されました。
2012 年 12 月 21 日 9:59:45 AM org.quartz.core.QuartzScheduler 初期化
情報: スケジューラ メタデータ: Quartz スケジューラ (v2.1.6) 'OpenEJB-TimerService-Scheduler' with instanceId 'OpenEJB'
スケジューラ クラス: 'org. Quartz.core.QuartzScheduler' - ローカルで実行。
始まっていない。
現在スタンバイモードです。
実行されたジョブの数: 0
スレッド プール 'org.apache.openejb.core.timer.DefaultTimerThreadPoolAdapter' を使用 - 0 スレッド。
永続性をサポートしないジョブストア「org.quartz.simpl.RAMJobStore」の使用。クラスター化されていません。
2012 年 12 月 21 日 9:59:45 AM org.quartz.impl.StdSchedulerFactory インスタンス化
情報: Quartz スケジューラ 'OpenEJB-TimerService-Scheduler'
2012 年 12 月 21 日 9:59:45 AM org.quartz.impl.StdSchedulerFactory インスタンス化
情報: Quartz スケジューラ バージョン: 2.1.6
2012 年 12 月 21 日 9:59:45 AM org.quartz.core.QuartzScheduler 開始
INFO: スケジューラ OpenEJB- TimerService-Scheduler_$_OpenEJB を開始しました。
2012 年 12 月 21 日 9:59:45 AM org.apache.openejb.assemblyr.classic.Assembler createApplication
INFO: 作成された Ejb (deployment-id=ScheduleEJB、ejb-name=ScheduleEJB、container=My Singleton Container)
2012 年 12 月 21 日 9 :59:45 AM org.apache.openejb.assemblyr.classic.Assembler createApplication
INFO: Ejb を開始しました (deployment-id=ScheduleEJB、ejb-name=ScheduleEJB、container=My Singleton Container)