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