Quartz Scheduler突然停止运行,没有异常错误

24 java quartz-scheduler

我有一些石英工作,每天晚上7点运行.突然间它无法运行.我检查我的server.log并没有抛出异常.任何人都知道可能是什么问题?

提前致谢

小智 12

我遇到了类似的问题,但问题是,我在石英属性中有10个线程石英默认线程数,当我进行线程转储*我发现我在阻塞统计中有10个工作,这意味着我不能再运行了线程.

快速解决此问题以增加quartz属性中线程池中的线程数.

实际的修复是审查我的代码,以了解为什么我有10个被阻止的线程.

*做线程转储你可以使用kill -3 <java进程号>将线程转储打印到你的应用程序标准输出,即如果你运行tomcat你在catalina.out日志文件中找到它


小智 7

在我的情况下,我有一个与数据库的开放连接.当我没有更多可用的连接时,我的线程仍在等待.因为我无法开始任何其他工作,所以什么也没发生,一切都被阻止了.我建议您检查是否有可能需要发布的阻塞资源.


Jon*_*yer 4

如果您使用数据库来存储作业,请检查触发器的trigger_state。现在我遇到了类似的问题(或者至少有类似的症状)。

每分钟运行一次的作业将使触发器处于“已获取”状态,并且永远不会再次运行。和你一样,我在日志中什么也没看到。

我还看到同一问题的不同原因。同样,作业只是停止运行,但触发器不处于“ACQUIRED”状态。至今我还不知道原因。

到目前为止我所知道的是调度程序线程正在等待空闲的工作线程。看起来所有工作线程都在等待信号量以更新其调度。我还无法获得线程转储来验证工作线程正在等待什么。

我正在运行 Quartz 1.6.1 RC1。请参阅此错误报告: http://jira.opensymphony.com/browse/QUARTZ-668

我想这就是我所看到的。