Java Quartz Cron 触发器

标签 java quartz-scheduler crontrigger

我在我的 java 程序中使用 Quartz Cron 触发器。我使用的 Cron 表达式是 0 0 * * * ?

现在我想要一个每小时执行一次的调度程序。为了测试相同的启动我的 jboss 服务器,然后我将我的窗口时间重置为 5:59:45 和 6:00:00 调度程序没有触发。

现在,下一次我首先将时间调整为 5:55:00,然后启动服务器并发现调度程序在 6:00:00 触发。

服务器或调度程序是否在内部维护时间,当然最初是用系统计时初始化的??

最佳答案

根据 quartz CronTrigger source code ,触发器会保留下一次应触发的日期。

我想如果你在 6:15:00 启动服务器,Quartz 会保留 7:00:00 作为下一个启动时间。将服务器时间更改为 5:55:45 不会更新下一次触发时间,7:00:00 将保留为下一次触发时间。因此事件不会在 6:00:00 触发,而是在 7:00:00 触发。

因此,时间不会直接保留,但会保留触发时间,而且如果您更改系统时钟,它似乎不会更新。

关于Java Quartz Cron 触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3627398/

相关文章:

java - nextFireTime 和开始时间不一致

linux - 如何设置从 sleep 中唤醒的cronjob?

java - 在不同版本的Play Framework下开发和运行

quartz-scheduler - Spring Integration 2 与 Quartz 调度器

c# - 找不到 JobRunShell.cs

java - Quartz 调度程序不在 dropwizard 应用程序中执行 SQL 查询

java - Quartz CronTrigger 未在指定的 startAt() 时间触发

java - Eclipse编辑器插件: isSaveAsAllowed

java - 我应该转换为 GregorianCalender 以及如何在 JavaScript 中转换?

java - 使用 Bridj 和 JNAerator 在 Java 中使用指针地址