对于某些Quartz工作,它失败了;并在检查数据库中的触发器状态后,显示BLOCKED
。这个BLOCKED
具体是什么意思?
答案 0 :(得分:34)
在此处发布问题之前,或许有些搜索会有所帮助吗?
WAITING =触发器的正常状态,等待其触发时间并由调度程序触发获取。
PAUSED =表示使用了scheduler.pauseXXX()方法之一。触发器在恢复之前不符合触发条件。
ACQUIRED =一个调度程序节点已将此触发器识别为它将触发的下一个触发器 - 可能仍在等待其触发时间。在它触发后,触发器将被更新(根据其重复设置,如果有的话)并放回到WAITING状态(如果它不再重复则被删除)。
BLOCKED =阻止触发器被触发,因为它与已经执行的StatefulJob有关。当statefuljob完成其执行时,与该作业相关的所有触发器将返回WAITING状态。
换句话说,当状态为BLOCKED时,另一个触发器(或此触发器的实例)已经为触发器的有状态作业执行,因此该触发器将被阻止,直到另一个触发器完成为止。
文档链接可能对您日后参考有用。http://www.docjar.com/docs/api/org/quartz/Trigger.html