quartz-scheduler - quartz 触发器构建器 startnow 在启动期间未触发触发器

标签 quartz-scheduler

我正在尝试使用 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/

相关文章:

cron - 月底前 7 天的 Quartz 调度程序

java - 如何验证 GWT 中的 cron 表达式?

java - 查找所有实现特定接口(interface)的类

grails - Grails 的 Quartz 工作只触发一次

grails - Quartz插件-方法无签名:.schedule()适用于参数类型:(Long,Integer,LinkedHashMap)

java - Quartz Scheduler - 使用 JobDataMap 进行作业链

spring - Quartz 不支持@autowired

java - 在简单的网络应用程序中使用 quartz 调度程序安排作业

java - 我如何使用多线程读取文件

java - 将数据从 MS SQL Server 复制到 MySQL