Таймеры EJB должны быть постоянными / надежными? - PullRequest
6 голосов
/ 30 декабря 2008

например. если я установлю таймер на каждый день в полночь, что произойдет, если произойдет «пропуск зажигания» (не вызовет обратный вызов, например, из-за сбоя сервера)? Я не могу найти это в документации.

Есть ли способ сделать так, чтобы этот таймер вызывал обратный вызов так же быстро, как и перезапуск сервера?

PS: я знаю о Кварце, я оцениваю таймеры EJB как альтернативу.

Ответы [ 2 ]

4 голосов
/ 30 декабря 2008

Вы можете использовать TimerHandle , чтобы сделать таймер постоянным. Время EJB было разработано, чтобы выдержать аварии контейнеров.

См. Эту статью для сравнения между временем EJB и другими системами планировщика, такими как Quartz.

3 голосов
/ 01 января 2009

По опыту могу сказать, что в Glassfish пропущенный таймер сработает, как только сервер вернется в рабочее состояние. Если ваш сервер не работает в течение двух или более пропущенных тайм-аутов, он будет срабатывать только один раз, а не один раз за каждый пропущенный тайм-аут. Затем он возвращается к вашей регулярно запланированной программе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...