我有以下代码可以在 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 上部署此代码时,它让我收到以下消息,并且无法在启动时自动运行我的 schedule 方法 execute(),因为此代码在 glassfish 中运行良好,但我不会在 jboss 的 glassfish 中使用它。
2012 年 12 月 21 日上午 9:59:45 org.quartz.impl.StdSchedulerFactory 实例化
信息:使用 ThreadExecutor 的默认实现
2012 年 12 月 21 日上午 9:59:45 org.quartz.core.SchedulerSignalerImpl
信息:初始化调度程序信号器类型: org.quartz.core.SchedulerSignalerImpl 类
2012 年 12 月 21 日上午 9:59:45 org.quartz.core.QuartzScheduler
信息:Quartz Scheduler v.2.1.6 创建。
2012 年 12 月 21 日上午 9:59:45 org.quartz.simpl.RAMJobStore 初始化
信息:RAMJobStore 已初始化。
2012 年 12 月 21 日上午 9:59:45 org.quartz.core.QuartzScheduler 初始化
INFO:调度程序元数据:Quartz Scheduler (v2.1.6) 'OpenEJB-TimerService-Scheduler' with instanceId 'OpenEJB'
Scheduler class: 'org. quartz.core.QuartzScheduler' - 在本地运行。
没有开始。
目前处于待机模式。
执行的作业数:0
使用线程池 'org.apache.openejb.core.timer.DefaultTimerThreadPoolAdapter' - 使用 0 个线程。
使用作业存储 'org.quartz.simpl.RAMJobStore' - 它不支持持久性。并且没有聚集。
2012 年 12 月 21 日上午 9:59:45 org.quartz.impl.StdSchedulerFactory 实例化
INFO:Quartz 调度程序“OpenEJB-TimerService-Scheduler”
2012 年 12 月 21 日上午 9:59:45 org.quartz.impl.StdSchedulerFactory 实例化
信息:Quartz 调度程序版本:2.1.6
2012 年 12 月 21 日上午 9:59:45 org.quartz.core.QuartzScheduler 开始
信息:调度程序 OpenEJB- TimerService-Scheduler_$_OpenEJB 已启动。
2012 年 12 月 21 日上午 9:59:45 org.apache.openejb.assembler.classic.Assembler createApplication
INFO: Created Ejb(deployment-id=ScheduleEJB, ejb-name=ScheduleEJB, container=My Singleton Container)
2012 年 12 月 21 日 9上午 59:45 org.apache.openejb.assembler.classic.Assembler createApplication
信息:已启动 Ejb(deployment-id=ScheduleEJB,ejb-name=ScheduleEJB,container=My Singleton Container)