gpt4 book ai didi

java - 每 n 周 Quartz 事件,在不同的几天

转载 作者:行者123 更新时间:2023-11-29 08:51:05 24 4
gpt4 key购买 nike

我有一个应用程序需要每 n 周(n 由用户给定)、超过一天(例如:每个星期一和星期二,每 2 周)触发一次 quartz 事件。这是我写的代码:

newTrigger()
.withSchedule(DailyTimeIntervalScheduleBuilder.dailyTimeIntervalSchedule().onDaysOfTheWeek(daysOfWeek.toArray(new Integer[0]))
.withIntervalInHours(n*7*24))
.startAt(startingDate)
.build();

daysOfWeek 是一个链表,其中包含用户选择的日期(在我们的示例中为星期一和星期二)。

然而,这个东西不起作用,但它只需要第一个选定的日期(星期一)并且在插入几次之后......它甚至会跳到星期日。这是输出信息:


下一个日期 2014 年 4 月 7 日星期一 00:00:00 CEST
下一个日期 2014 年 4 月 21 日星期一 00:00:00 CEST
下一个日期 2014 年 5 月 5 日星期一 00:00:00 CEST
下一个日期 2014 年 5 月 19 日星期一 00:00:00 CEST
下一个日期 2014 年 6 月 2 日星期一 00:00:00 CEST
下一个日期 2014 年 6 月 16 日星期一 00:00:00 CEST
下一个日期 2014 年 6 月 30 日星期一 00:00:00 CEST
下一个日期 2014 年 7 月 14 日星期一 00:00:00 CEST
下一个日期 2014 年 7 月 28 日星期一 00:00:00 CEST
下一个日期 2014 年 8 月 11 日星期一 00:00:00 CEST
下一个日期 2014 年 8 月 25 日星期一 00:00:00 CEST
下一个日期 2014 年 9 月 8 日星期一 00:00:00 CEST
下一个日期 2014 年 9 月 22 日星期一 00:00:00 CEST
下一个日期 2014 年 10 月 6 日星期一 00:00:00 CEST
下一个日期 2014 年 10 月 20 日星期一 00:00:00 CEST
下一个日期 2014 年 11 月 2 日星期日 00:00:00 CET
下一个日期 2014 年 11 月 16 日星期日 00:00:00 CET
下一个日期 2014 年 11 月 30 日星期日 00:00:00 CET
下一个日期 2014 年 12 月 14 日星期日 00:00:00 CET
下一个日期 2014 年 12 月 28 日星期日 00:00:00 CET

请帮助我理解为什么这不起作用。

最佳答案

在单个 CronTrigger 中编码此模式似乎行不通。但是,作业总是可以重新安排自己在以后的时间执行。因此,如果添加一个方法来计算下一次作业运行,则当前执行将安排下一次执行。

例如,如果日期列表是星期一,那么下一次执行将是星期二。然而在星期二,下一次处决将在两周后的星期一进行。

关于java - 每 n 周 Quartz 事件,在不同的几天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22668270/

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