Для своего приложения я создаю задания и планирую их с помощью CronTriggers. Каждое задание имеет только один триггер, и имя задания, и имена триггера совпадают. Нет вакансий с общим триггером.
Теперь, когда я создаю триггер cron, как этот "0/1 * * * *?" , который инструктирует задание на выполнение каждую секунду, он работает просто отлично.
Проблема возникает, когда я впервые приостанавливаю работу, набрав:
scheduler.pauseJob(jobName, jobGroup);
, а затем возобновить работу, скажем, через 50 секунд:
scheduler.resumeJob(jobName, jobGroup);
Что я вижу, так это то, что в течение этих 50 секунд задание не выполнялось в соответствии с запросом. Но в тот момент, когда я возобновляю работу, я вижу 50 выполнений работы одновременно !!!
Я подумал, что это связано с настройкой по умолчанию для команды пропуска зажигания, но даже после установки инструкции запуска пропуска триггера при создании этого:
trigger.setMisfireInstruction(CronTrigger.MISFIRE_INSTRUCTION_DO_NOTHING);
То же самое происходит. Кто-нибудь может предложить способ исправить это?