首页 > 解决方案 > Quartz:应用程序启动时作业未启动

问题描述

我正在使用 Quartz 2.2.3,我有一份工作要在申请开始后 5 分钟开始,然后每天早上 7 点开始。我的代码是

          Trigger myTrigger =TriggerBuilder.newTrigger()
                .withIdentity("myTrigger",Scheduler.DEFAULT_GROUP) 
                .startAt(new Date( inFiveMinutes ))
                .withSchedule(CronScheduleBuilder.dailyAtHourAndMinute(7,0)) 
                .forJob("myJob",Scheduler.DEFAULT_GROUP)
                .build();

问题是,该作业没有在 5 分钟内开始,但 cron 调度程序可以工作。有趣的是,startAtAt 与 SimpleScheduleBuilder 一起工作。例如

SimpleScheduleBuilder.simpleSchedule().withIntervalInMilliseconds(8L *60L *60L * 1000L).repeatForever()

我可以创建一对触发器和作业来安排每天一个,另一个是启动后 5 分钟。

有没有更好的做法?

标签: quartz-scheduler

解决方案


Please check  the below code    

 Trigger trigger = TriggerBuilder
                .newTrigger()  
                .withIdentity("APICOUNTTRIGGER", "group1")
                .startAt(DateBuilder.todayAt(07, 00, 00))   
                .withSchedule(        
                        SimpleScheduleBuilder.simpleSchedule().withIntervalInHours(24).repeatForever()) 
                .build();

推荐阅读