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

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

提前致谢

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

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

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

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

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

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

每分钟运行一次的作业将触发器保持在“已获取”状态,并且永远不会再次运行。 像你一样我没有看到日志。

我也看到了同样问题的不同原因。 同样,作业刚停止运行,但触发器未处于“已获取”状态。 到目前为止,我不知道原因。

到目前为止我所知道的是调度程序线程正在等待一个免费的工作线程。 看起来所有工作线程都在等待信号量以更新其计划。 我还没有得到一个线程转储来validation工作线程正在等待什么。

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

我认为这就是我所看到的。

检查是否有任何Job正在抛出exception。 将您的Job exe代码放在try catch块中,跟踪任何exception以解决问题。

我有类似但有些不同的问题。 我的调度程序在开发环境中运行良好。 在这个调度程序中,我正在做更新事务等工作。

当我们将构建移动到生产时,调度程序运行良好,一切都很好,直到星期六。 星期六我的调度员突然停了下来。 我没有在我的应用服务器(OC4J)中找到与调度程序相关的任何exception。

我使用的是quartz-1.5.2版本。 我无法追查问题的实际根本原因。

我在启动应用程序服务器时启动调度程序。 如果出现问题,它就会停止工作。 然后我没有机会启动它们。

我想如果我通过使用一些jsp请求再次调用init servlet来启动调度程序会产生差异。 这就像看到配置文件(我们的调度程序的健康状况并再次启动它们)。 如果你有更好的方法来启动调度程序,那么请建议我。

是的,在quartz.properties中将线程数从7增加到10似乎正在解决这个问题。