quartz框架_Quartz框架源码揭秘之TriggerState ERROR(上篇)

引言

Quartz作为分布式任务调度框架,不仅支持单点模式,还支持集群模式,基本上成为Java中的定时任务标准,在多种大型互联网项目中都得到广泛应用。

情景回放

生产环境定时任务调度异常,通过查询框架表: QRTZ_TRIGGERS, 发现触发器的trigger_state 被设置成ERROR,被设置成ERROR的触发器将永远不会被调度中心再次调度(人为干预除外)。

880f877eaf4ad5bcf2a06da8a30aa565.png

排查方法

一般遇到这种问题都会第一时间想到google,搜索大部分的答案是: 集群节点的代码版本存在不一致。对于大部分情况下,排查到此结束。如果已经确保代码版本是一致的,还是会出现这种错误,那应该怎么办呢?源码分析,直入问题本质。

源码分析

通过应用日志查询JOB调度错误日志

bfe3a6414a2ea1716272a4b8a5f68d00.png

根据错误: “Error retrieving job, setting trigger state to ERROR.” 定位到 

JobStoreSuppor

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值