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

Cron schedule to run at 11:55, 12:00 and 12:05

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

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

但是在 11:00、11:05、11:55、12:00、12:05、12:55 的给定时间表 运行 .不知道我错过了什么。

您可以使用 2 个触发器来执行 YourJob.class

    public class Scheduler extends GenericServlet {

        @Override
        public void init(ServletConfig config) throws ServletException {
            super.init(config);
            try {
                // this is YOUR job
                JobDetail job = JobBuilder.newJob(YourJob.class).build();
                Trigger trigger1 = TriggerBuilder
                        .newTrigger()
                        .forJob(job)
                        .withSchedule(
                                CronScheduleBuilder.cronSchedule(
                                        "0 55 11 ? * * *"
                                )
                        ).build();
                Trigger trigger2 = TriggerBuilder
                        .newTrigger()
                        .forJob(job)
                        .withSchedule(
                                CronScheduleBuilder.cronSchedule(
                                        "0 0,5 12 ? * * *"
                                )
                        ).build();
                Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
                scheduler.start();
                // run at 11:55 every day
                scheduler.scheduleJob(job, trigger1);
                // run at 12:00 and 12:05 every day
                scheduler.scheduleJob(job, trigger2);
            } catch (SchedulerException e) {
                Logger.getLogger(Scheduler.class).error(e);
            }
        }

        @Override
        public void service(ServletRequest req, ServletResponse res) {
            // ...
        }
    }