我正在使用quartz调度程序来调度作业。我有一个情况,我想每天晚上(9:00 PM)到第二天早上(06:00 AM)执行一个作业。我怎样才能实现这个目标。目前我正在像这样初始化触发器
Trigger trigger2 = newTrigger()
.withIdentity("trigger1", "group1")
.startNow()
.withSchedule(simpleSchedule()
.withIntervalInSeconds(10)
.repeatForever())
.build();
我需要进行哪些修改才能满足要求?
最佳答案
如果您选择了Quartz CronExpression 你可以使用这样的表达式 0 * 21-23,0-5 ? * *
每天从 00:00 AM 到 05:59 AM 以及从 9:00 PM 到 23:59 PM 每分钟解雇一个作业,因此:
trigger = newTrigger()
.withIdentity("trigger7", "group1")
.withSchedule(cronSchedule("0 * 21-23,0-5 ? * *"))
.build();
记得导入import static org.quartz.CronScheduleBuilder.cronSchedule
频率(在此示例中为每分钟)取决于您的要求。
关于java - Quartz调度器-时间间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14208056/