我们有一个适用于其他环境的 quartz 应用程序。
但是当我们将它部署在有两个需求的集群环境中时,它停止了工作。我所能看到的只是下面显示的大量日志。
任何想法可能导致它?我确定这不是我们的代码,因为它从未经过任何 TaskHandler。
[7/17/14 13:14:54:236 EDT] 00000025 JobStoreTX I org.quartz.impl.jdbcjobstore.JobStoreSupport recoveryMisfiredJobs 处理 3 个错过预定触发时间的触发器。
更新:
我怀疑这可能是由于事务隔离级别配置。目前 quartz 数据源配置为 TRANSACTION_READ_COMMITTED (CS)。关于适当值的任何建议?
TRIGGERS 表也显示它从未被触发。
NEXT_FIRE_TIME PREV_FIRE_TIME PRIORITY TRIGGER_STATE TRIGGER_TYPE START_TIME END_TIME CALENDAR_NAME MISFIRE_INSTR
1405630189133 -1 5 等待 CRON 1405624813000 0 0
1405630189139 -1 5 等待 CRON 1405624813000 0 0
1405630215140 -1 5 等待 CRON 1405624813000 0 0
1405630189126 -1 5 等待 CRON 1405624813000 0 0
请您参考如下方法:
Handling x Trigger(s) that missed their scheduled fire-time
主要是由于线程池耗尽。检查作业的多个实例是否处于运行状态