| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > quartz rescheduling job in clustering environment |
| Автор: DKroshkin 23.4.2010, 18:00 |
| Доброго времени суток. Имею много приложений, крутящихся на различных JVM, но использующие одну конфигурацию для кварца. Есть одно приложение, которое только конфигурирует время запуска заданий. Проблема с перепланированием существующих заданий. Если задание стоит первым на исполнение, то при попытке его сдвинуть в будущее, оно исполнится 2 раза: в старое время и в новое. Кто-нибудь сталкивался с подобной проблемой, и как лечили? P.S. Одно из мест, которое у меня вызывает подозрения это QuartzSchedulerThread и механизм перепланирования задания, только в случае если задание попадает в начало очереди. |
| Автор: Старовъръ 23.4.2010, 20:13 |
| А как ты вообще осуществляешь перепланироварие? А то я как-то пытался найти, не нашел |
| Автор: DKroshkin 23.4.2010, 20:48 |
| Вызываю метод Scheduler.rescheduleJob сам сижу разбираюсь, что народ наколбасил. |
| Автор: COVD 23.4.2010, 23:03 |
| Из здравого смысла надежней удалить и создать новый. |
| Автор: DKroshkin 29.4.2010, 12:34 |
| Все дело в потоке JobStoreSupport.MisfireHandler, который отвечает за запуск пропущенных тасков. А таск может стать пропущенным при решедулинге, если не обновить соответствующим образом startTime. |