问题描述
我正在旧的 JBoss 6.1.0.Final AS 中创建一个 EJB3 日历计时器,它应该在每个星期日的 02:00 触发。但是,当我调用 Timer.getNextTimeout()
时,它总是跳过当前星期的星期天。似乎它只跳过星期天,如果我将它设置为在星期六或星期一开火,它会返回我所期望的。
我使用以下代码片段创建了计时器。
ScheduleExpression schedule = new ScheduleExpression();
schedule.dayOfWeek("Sun");
schedule.hour(2);
TimerConfig tc = new TimerConfig();
tc.setPersistent(false);
mTimer = mTimerService.createCalendarTimer(schedule,tc);
今天(2021-05-03)运行我的代码在调用 mTimer.getNextTimeout()
时有以下结果:
初始执行时间:2021 年 5 月 16 日星期日 02:00:00 CEST
运行相同的代码,但更改 dayOfWeek("Sat")
会导致:
初始执行时间:Sat May 08 02:00:00 CEST 2021
我还尝试将 0 和 7 作为 dayOfWeek
的参数。结果一样。
Jboss 在 Java 8 上运行。我还应该补充一点,这个 JBoss 同时运行 EJB2 和 EJB3,如果这会以任何方式影响它。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)