gpt4 book ai didi

java - quartz 调度: Using DailyCalendar

转载 作者:行者123 更新时间:2023-12-02 08:22:21 26 4
gpt4 key购买 nike

我正在尝试根据以下计划安排 quartz 作业:

作业每天运行,并且只能在上午 9:30 到下午 6:00 之间执行。我正在尝试通过 DailyCalendar 来实现这一目标。这是我的 DailyCalendar 的样子:

DailyCalendar dCal = new DailyCalendar(startTimeString, endTimeString);
dCal.setTimeZone(TimeZone.getDefault());
dCal.setInvertTimeRange(true);

其中开始和结束时间字符串的格式为 HH:MM

接下来,我尝试安排这项工作:

Scheduler myscheduler = StdSchedulerFactory.getDefaultScheduler();
SimpleTrigger trigger = new SimpleTrigger();
myscheduler.addCalendar("todcal", cal, true, true);
trigger.setName("TRIGGER " + alertName);
trigger.setJobName(alertName);
trigger.setJobGroup(alertName);
trigger.setCalendarName("todcal");
logger.info("Adding TOD job");
myscheduler.scheduleJob(trigger); // line causing exception
myscheduler.start();

一旦调用scheduleJob,我就会看到以下异常:

Based on configured schedule, the given trigger will never fire.

配置对我来说似乎很好,但我找不到任何使用 DailyCalendar 的示例代码,所以我在这里可能是错的。请帮忙

最佳答案

您似乎没有在触发器上设置重复计数或重复间隔。因此它只会在当前时刻触发一次(因为您没有设置 future 的开始时间),这可能恰好是在日历的排除时间内 - 这就是为什么它会被计算为永远不会触发。

关于java - quartz 调度: Using DailyCalendar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5245291/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com