本文介绍了创建在一周中的特定日期执行的触发器(Quartz Scheduler API)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在 Quartz Scheduler API 中构建一个触发器,它应该按照以下条件执行.

I am trying to build a Trigger in Quartz Scheduler API which should get executed with following criteria.

  1. 在特定日期(2012 年 1 月 25 日)开始
  2. 在预定时间(08.00.00 AM)开始
  3. 每周.
  4. 可以安排为隔周或每 3 周(如果不是每周)
  5. 在一周中的这些特定日子(星期一、星期二、星期五等)

我创建了以下表达式

newTrigger().withIdentity(cronTriggerDTO.getTiggerId(), "simpleGroup")
        .startAt(getTriggerExecutionDate(cronTriggerDTO))
        .withSchedule(calendarIntervalSchedule().withIntervalInWeeks
                  (cronTriggerDTO.getWeeklyInterval())).build();

但我很困惑我如何添加条件以在一周的特定日期执行此触发器

but i am confused how i shd add the condition to execute this trigger on particular days of Week

这方面的任何帮助都会很棒.

Any help in this regard will be great.

提前致谢

推荐答案

Use DailyTimeIntervalScheduleBuilder

Use 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();

这篇关于创建在一周中的特定日期执行的触发器(Quartz Scheduler API)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

05-30 12:08