我正在尝试使用 quartz 生成器来创建 cron 触发器并尝试给出 startnow 指令。但触发器并未启动,而是仅在完成给定时间间隔后才启动。有人可以帮助我在启动服务器期间启动触发器。我使用的是普通 quartz ,没有 Spring 。
Trigger trigger = newTrigger()
.withIdentity(SchedulerConstants.TRIGGER_CLARITY,SchedulerConstants.QI_GROUP)
.withSchedule(cronSchedule("0 0/60 * * * ?").withMisfireHandlingInstructionDoNothing())
.startNow()
.build();
最佳答案
在 CronTrigger 上调用 startNow() 不会有任何影响,因为它根据提供的 cron 表达式触发作业,这与基于时间的 SimpleTrigger 不同。
您的 cron 表达式告诉 Quartz 从每小时的第 0 分钟开始每 60 分钟运行一次。
除非您恰好在第 0 分钟启动调度程序,否则您不会看到 startNow 效果。
希望这对你来说很清楚。
引用 Quartz CronTrigger tutorials/documentation更多细节。
关于quartz-scheduler - quartz 触发器构建器 startnow 在启动期间未触发触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19219560/