Я использую Кварцевый Планировщик (версия 1.8.3 из-за ограничений проекта), и мне поручили задачу создания «MS Outlook-подобного» планировщика для заданий, специфичных для моего проекта.Кажется, все нормально работает, но у меня действительно огромная проблема с CronTriggers (эта проблема также существует в версии 2.1 Quartz):
Я использую CronTriggers для шаблонов повторения DAILY, WEEKLY и MONTHLY.В дополнение к шаблону повторения, я также предоставляю опцию для «Нет.событий ».Это стало проклятием моей жизни!CronTrigger не предоставляет опцию 'repeatCount', как это делают SimpleTriggers (ошибка: https://jira.terracotta.org/jira/browse/QTZ-242?page=com.atlassian.jira.plugin.system.issuetabpanels%3Achangehistory-tabpanel). Видимо, это может быть исправлено в версии 2.2, но я не могу ждать так долго и не считаю, что моя проблема уникальна!
Несколько вариантов, которые я посчитал заслуживающими изучения:
Рассчитать 'EndTime' для CronTrigger, но используя мою собственную логику - это не в состоянии охватить все возможные случаи и является в лучшем случае приблизительнымдаже для простых случаев.
Используйте TriggerListener или JobListener, чтобы отслеживать количество итераций задания, так как мне просто нужно остановить работу после N итераций, и у меня естьОтображение 1: 1 из экземпляра Job в Trigger. Это кажется нереальным и / или эффективным из-за большого воображения.
Может ли кто-нибудь из вас, кто использовал CronTriggers с опцией«Количество случаев», пожалуйста, дайте некоторое представление о том, как решить эту головоломку?