Spring + Quartz:一次性、失火证明作业的程序化时间表

Spring + Quartz: programmatic schedule of one-time, misfire proof jobs

我正在开发一个使用 Quartz 2.2.1 的企业应用程序。 触发器 bean 在它们的 XML 中配置,其中包括相关的 cron 表达式。

现在,我需要以编程方式创建具有自定义触发时间的触发器;这些触发器还必须处理失火(我必须确保它们得到执行,即使服务器在启动时关闭)。有没有办法让石英在不手动处理触发器持久性的情况下完成 'dirty' 工作?

谢谢。

比我想象的要简单,解决方法就在 SimpleTrigger class.

// 更新触发器信息

SimpleTrigger trigger = (SimpleTrigger)builder
                        .startAt( whenever you want it to start )
                        .withSchedule(simpleSchedule()
                                .withIntervalInMinutes( or any interval ).repeatForever() )
                        .endAt( whenever you want it to end)
                        .build()

这将创建一个介于开始和结束之间并按照指定时间间隔执行的石英触发器。

也可以指定Misfire策略。