如何使用Java在石英中从下午2点到晚上11点每隔30秒触发一次触发器?

时间:2014-03-04 06:50:58

标签: java quartz-scheduler scheduler

我正在使用此声明 -

trigger2 = TriggerBuilder.newTrigger()
                         .withIdentity("abc", "group1")
                         .withSchedule(CronScheduleBuilder
                                             .cronSchedule("0/30 0 14-23 * * ?"))
                         .build();

不知何故触发器在下午2点,下午2点30分开始,不再发生。 有什么问题?

2 个答案:

答案 0 :(得分:3)

问题是你在分钟字段中输入了0。因此它仅在凌晨2点触发。 尝试

 trigger2 = TriggerBuilder
                    .newTrigger()
                    .withIdentity("abc", "group1")
                    .withSchedule(
                      CronScheduleBuilder.cronSchedule("0/30 * 14-23 * * ?"))
                    .build();

答案 1 :(得分:0)

quartz scheduler文档中我提取了以下示例:

作业#1计划每20秒运行一次

JobDetail job = new JobDetail("job1", "group1", SimpleJob.class);
CronTrigger trigger = new CronTrigger("trigger1", "group1", "job1", "group1", "0/20 * * * * ?");
sched.addJob(job, true);

根据您的情况,它应该是这样的:

CronTrigger trigger = new CronTrigger("trigger1", "group1", "job1", "group1", "0/30 * 14-23 * * ?");