在弹簧中编写cron表达式
我正在使用spring任务调度程序(ConcurrentTaskScheduler)来安排我的任务。
我正在使用API
public ScheduledFuture schedule(Runnable task,Trigger trigger)
执行我的任务。我使用的触发器是CronTrigger。
我正在使用以下语句初始化触发器
Trigger trigger = new CronTrigger(cronExp);
我需要编写一个cronExp,使其从特定日期开始,然后每天执行。
我检查了ConcurrentTaskScheduler的API,但我找到了合适的API来实现/我可能错过了一些API。
有谁能建议我达到上述要求的方法?
没有找到相关结果
已邀请:
2 个回复
目浆搽
仅从特定日期开始。 Cron语法不支持每天从任意日期运行某些内容;它支持每天运行某些东西或在任意日期运行一次 - 但不能同时运行。这意味着您可以使用两个触发器:将一个cron触发器设置为在开始日期触发;然后在第一次触发发生时创建新的每日触发器。 但是这只适用于你使用的cron触发器支持多年,例如Quartz在其cron触发器中有一个选项year字段。春天的
不支持岁月。因此,如果您确实尝试为特定日期安排某些事情(比如澳大利亚日中午
)那么它将每年运行,而不是仅运行一次,从而导致每年创建重复触发器。 相反,我建议创建一个每天运行的简单触发器,即:
所以你的代码每天都会运行。然后在代码中添加一个简单的日期检查:如果尚未到达开始日期,则跳过任务,即:
翱抹村