石英弹簧cron立刻引发火灾

时间:2013-01-29 19:56:55

标签: spring quartz-scheduler

我有一个使用石英cron触发器的弹簧应用程序。我已经为频率0 0/20 * * *?.....每20分钟给出以下一次。但我希望第一个立即运行。现在,当我启动应用程序时,它会在20分钟后运行。我希望它会尽快运行,然后在20分钟后运行。

提前致谢。

2 个答案:

答案 0 :(得分:1)

听起来你想使用间隔触发器(Quartz中的SimpleTrigger可以完成这项工作)。 CronTrigger希望您指定运行的分钟数。

所以你的触发时间表说:从0分钟开始,然后每20分钟运行一次,直到小时结束。然后再次从0开始。

但是使用SimpleTrigger,你说 - 现在就开始,每20分钟运行一次。

以下是SimpleTrigger的教程: http://quartz-scheduler.org/documentation/quartz-2.x/tutorials/tutorial-lesson-05

这是关于CronTrigger的教程: http://quartz-scheduler.org/documentation/quartz-1.x/tutorials/crontrigger

答案 1 :(得分:0)

你不需要CRON表达式(和Quartz一样!)每20分钟运行一次代码。只需使用固定费率(Spring内置):

@Scheduled(fixedRate=20 * 60 * 1000)

就是这样!默认情况下,第一次调用立即发生,20分钟后第二次调用。从Spring 3.2开始,你甚至可以说initialDelay=10000在10秒后第一次运行。

如果您真的想使用Quartz,请查看SimpleTrigger