问题描述
我在使用 Simple
调度程序时遇到了一个问题,例如我有一个每天在 13:00 执行一次的作业,但是当夏令时出现时,它在 14:00 执行,但我希望它恰好在 13:00 执行。我研究并看到我可以将 timezone
设置为 cronScheduler
并且它应该可以解决问题,然后我修改了代码,现在我有
trigger = (crontrigger) TriggerBuilder.newTrigger()
.withIdentity(key,group)
.startAt(startTime)
.withSchedule(schedBuilder.withMisfireHandlingInstructionFireAndProceed()
.inTimeZone(TimeZone.getTimeZone(timeZone)))
.forJob(jobDetail.getKey().getName(),jobDetail.getKey().getGroup())
.build();
我在哪里设置时区,例如 Europe/Berlin
和 CronExpression
类似这样的 0 0 13 * * ? *
但是当由于夏令时而改变时间时,我会得到相同的行为,并且触发器在 14:00:00 而不是 13:00:00 执行。我是否仍然遗漏了什么或有什么问题?
解决此问题的可能解决方案是什么?
如果 crontrigger
的这个时区没有任何影响,有(设置)它的原因是什么?
如果我设置 Europe/Berlin
时区和 0 0 13 * * ? *
表达式,它应该在柏林时间的 13:00:00 准确运行,并且对于任何其他时区都相同。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)