У нас есть веб-приложение Spring 3 на Tomcat 6, которое использует несколько плановых сервисов через @Scheduled
(в основном для заданий, которые запускаются каждую ночь). Теперь кажется, что иногда (редко, возможно, раз в два месяца или около того) поток планировщика перестает работать, поэтому ни одно из заданий не будет выполнено в следующую ночь. В наших файлах журналов нет исключений или регистрации.
Кто-нибудь подсказывает, почему это происходит? Или как получить дополнительную информацию об этой проблеме?
Есть ли способ обнаружить эту ситуацию в приложении и перезапустить планировщик?
В настоящее время мы решаем это, имея также задание на ведение журнала, которое выполняется каждые 5 минут и создает запись в журнале. Если файл журнала перестает обновляться (контролируется nagios), мы знаем, что пришло время перезагрузить tomcat. Было бы неплохо перезапустить задания без полного перезапуска сервера.