Cron计划在11:55、12:00和12:05运行

Cron计划在11:55、12:00和12:05运行,cron,quartz-scheduler,Cron,Quartz Scheduler,我正在尝试创建一个Cron计划,在11:55、12:00和12:05运行,并使用以下表达式- 0 0,5,55 11,12 ? * * * 但是,上述给定的计划在11:00、11:05、11:55、12:00、12:05、12:55运行。不知道我错过了什么 您可以使用两个触发器来执行job.class 公共类调度程序扩展了GenericServlet{ @凌驾 public void init(ServletConfig config)抛出ServletException{ super.in

我正在尝试创建一个Cron计划,在11:55、12:00和12:05运行,并使用以下表达式-

 0 0,5,55 11,12 ? * * *

但是,上述给定的计划在11:00、11:05、11:55、12:00、12:05、12:55运行。不知道我错过了什么

您可以使用两个触发器来执行job.class

公共类调度程序扩展了GenericServlet{
@凌驾
public void init(ServletConfig config)抛出ServletException{
super.init(config);
试一试{
//这是你的工作
JobDetail job=JobBuilder.newJob(YourJob.class.build();
触发器触发器1=触发器生成器
.newTrigger()
.forJob(job)
.时间表(
CronScheduleBuilder.cronSchedule(
"0 55 11 ? * * *"
)
).build();
触发器触发器2=触发器生成器
.newTrigger()
.forJob(job)
.时间表(
CronScheduleBuilder.cronSchedule(
"0 0,5 12 ? * * *"
)
).build();
Scheduler Scheduler=StdSchedulerFactory.getDefaultScheduler();
scheduler.start();
//每天11点55分跑步
scheduleJob(作业,触发器1);
//每天12:00和12:05跑步
scheduleJob(作业,触发器2);
}捕获(调度){
Logger.getLogger(Scheduler.class).error(e);
}
}
@凌驾
公共作废服务(ServletRequest-req、ServletResponse-res){
// ...
}
}

不确定是否可以在单个表达式中使用。我想您需要两个表达式,一个用于11:55,另一个用于12:00和12:05,因为大多数实现不支持55到05的范围(它们将其反转(05-55),而不是拆分(55-60和00-05)。