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