我注意到,客户JEE服务器上某些长期存在的预定作业未触发EJB计时器。
为此JEE应用程序计划的每日一次定期EJB计时器作业总数为10。在指定的时间中只有4个被触发。
我检查了应用程序代码,它使用EJB Timer ScheduleExpression创建了Scheduler。
[second=0 minute=30 hour=2 dayOfWeek=* dayOfMonth=* month=* year=* start=null end=null timezone=]
我们正在将javax.ejb.Timeout注释与TimerService.createCalendarTimer(scheduleExpression,timerConfig)一起使用
代码如下:
final TimerConfig timerConfig = new TimerConfig(scheduledTaskModel,true);
timerService.createCalendarTimer(scheduleExpression,timerConfig);
@Timeout
public void timeout(final Timer timer) throws Exception {
// Business Logic here
}
这在LAB服务器上可以正常工作。这在Customer Server上运行了好几个月了。
有什么方法可以在JBoss服务器上找到所有现有的EJB计时器吗?有JBoss命令吗?