在弹簧中编写cron表达式

我正在使用spring任务调度程序(ConcurrentTaskScheduler)来安排我的任务。 我正在使用API
public ScheduledFuture schedule(Runnable task,Trigger trigger)
执行我的任务。我使用的触发器是CronTrigger。 我正在使用以下语句初始化触发器
Trigger trigger = new CronTrigger(cronExp);
我需要编写一个cronExp,使其从特定日期开始,然后每天执行。 我检查了ConcurrentTaskScheduler的API,但我找到了合适的API来实现/我可能错过了一些API。 有谁能建议我达到上述要求的方法?     
已邀请:
据我所知,你不能使用Spring的
CronTrigger
仅从特定日期开始。 Cron语法不支持每天从任意日期运行某些内容;它支持每天运行某些东西或在任意日期运行一次 - 但不能同时运行。这意味着您可以使用两个触发器:将一个cron触发器设置为在开始日期触发;然后在第一次触发发生时创建新的每日触发器。 但是这只适用于你使用的cron触发器支持多年,例如Quartz在其cron触发器中有一个选项year字段。春天的
CronTrigger
不支持岁月。因此,如果您确实尝试为特定日期安排某些事情(比如澳大利亚日中午
0 0 12 26 1 ?
)那么它将每年运行,而不是仅运行一次,从而导致每年创建重复触发器。 相反,我建议创建一个每天运行的简单触发器,即:
    Trigger trigger = new CronTrigger("0 0 12 * * ?);
所以你的代码每天都会运行。然后在代码中添加一个简单的日期检查:如果尚未到达开始日期,则跳过任务,即:
    if ((new Date()).after(startDate)) {
        // Run your task here
    }
    
请找到以下链接 http://www.mkyong.com/spring/spring-quartz-scheduler-example/ 在Spring中我们有集成的石英调度程序。只有xml配置需要安排作业。你可以根据需要配置cron表达式。 我建议你使用spring quartz scheduler integration     

要回复问题请先登录注册