В этой статье объясняется, как исключить Quartz из запуска в определенные календарные дни, но мне нужно что-то другое, мне нужно запустить задание в предыдущий или следующий рабочий день, если триггеррезультаты календаря в праздничные дни.
Например, предположим, что задание планируется выполнять ежемесячно, включая пятницу, 29 марта 2019 г., что является выходным.
Это означает, что:
- Не выходной: четверг, 28 марта 2019 года (когда задание должно выполняться, если оно выполняется до выходного дня)
- Выходной: пятница, 29 марта 2019 года
- Выходной: Суббота, 30 марта 2019 года
- выходной: воскресенье, 31 марта 2019 года
- не выходной: понедельник, 1 апреля 2019 года (когда задание должно выполняться, если оно выполняется после выходного дня))
Один из способов достижения этого - запускать задание каждый день и анализировать, должно ли оно выполняться в этот день или нет, и при необходимости выполнять повторный запуск, но есть ли лучший способ?
ОБНОВЛЕНИЕ
Если я чВы можете запускать работу каждый день, почему бы не использовать вместо этого Java EE 8 TimerService ?