我正在尝试在Quartz Scheduler API中构建一个触发器,该触发器应按照以下条件执行。
从特定日期开始(2012年1月25日)
从预定义时间(08.00.00 AM)开始
每周。
可以安排为每隔一周或每三周(如果不是每周)
在一周的这些特定日子(星期一,星期二,星期五等)
我创建了以下表达式
newTrigger().withIdentity(cronTriggerDTO.getTiggerId(), "simpleGroup")
.startAt(getTriggerExecutionDate(cronTriggerDTO))
.withSchedule(calendarIntervalSchedule().withIntervalInWeeks
(cronTriggerDTO.getWeeklyInterval())).build();
但是我很困惑如何在周的特定日期添加条件以执行此触发器
在这方面的任何帮助将是巨大的。
提前致谢
最佳答案
使用DailyTimeIntervalScheduleBuilder
Set daysOfWeek = new HashSet();
daysOfWeek.add(1);
daysOfWeek.add(2);
daysOfWeek.add(5);
newTrigger().withIdentity(cronTriggerDTO.getTiggerId(), "simpleGroup")
.startAt(getTriggerExecutionDate(cronTriggerDTO))
.withSchedule(dailyTimeIntervalSchedule()
.onDaysOfTheWeek(daysOfWeek)
.startingDailyAt(new TimeOfDay(8,0)))
.build();