如何使用cron scheduler调整夏令时

j9per5c4  于 2021-08-20  发布在  Java
关注(0)|答案(0)|浏览(300)

我在用 Simple 我和调度员有一个问题,比如我有一个作业,每天13:00执行一次,但当夏时制出现时,它是在14:00执行的,但我希望它正好在13:00执行。我研究并发现我可以设置 timezonecronScheduler 它应该可以解决这个问题,然后我修改了代码,现在我有了

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/BerlinCronExpression 像这样的 0 0 13 * * ? * 但是,当时间因夏令时而改变时,我会得到相同的行为,触发器将在14:00:00而不是13:00:00执行。我是否仍然缺少某些内容,或者问题是什么?解决此问题的可能解决方案是什么?如果这个时区 CronTrigger 没有任何效果,有(设置)它的原因是什么?
我被期望这样的事情,如果我设置 Europe/Berlin 时区和 0 0 13 * * ? * 表达式对于柏林时间和任何其他时区,它应该在13:00:00完全运行。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题