我们有一个运行在Tomcat 6上的Spring 3 web应用程序,使用@Scheduled
注解实现了多个计划任务(主要用于每天晚上运行的作业)。然而,有时候(很少,也许每两个月一次),调度线程会停止工作,因此在随后的晚上没有任何作业将被执行。我们的日志文件中没有异常或日志条目。
有人知道为什么会出现这种情况吗?或者如何获取更多关于这个问题的信息?
是否有一种方法可以在应用程序内部检测到这种情况并重新启动调度器?
目前,我们通过每5分钟运行一次记录作业并创建日志条目的方式来解决这个问题。如果日志文件停止更新(由nagios监控),我们就知道是时候重新启动Tomcat了。但希望能够重新启动作业而不需要完全重启服务器。
localhost.log
?通常一些未捕获的异常会在那里出现。另外,你可能需要启用调度程序的continueScheduledExecutionAfterException
选项。 - hsluo