quartz持久化job trigger无法正常触发的异象

发布于 2021-11-26 00:21:40 字数 622 浏览 966 评论 5

这两天遇到个非常怪异的现象,quartz做了分布式持久化,triggerstate在刚要到触发时间点之前就被quartz自行把状态修改为ERROR,导致trigger无法正常触发,quartz的数据库连接测试数据库时,正常,连接生产环境数据库时,异常;

关键信息如下:

1、quartz 版本 1.8.6

2、quartz持久化数据库,测试库A,生产库B,均按照quartz提供的脚本创建的相关表

主要现象:

1、测试环境正常现象:triggerstate 会在该trigger将要到下次触发时间之前把值修改为 ACQUIRED,然后到触发时间点,job正常触发,随后又将该状态修改为 WAITING,表现均正常

2、生成环境异常现象:triggerstate 会在该trigger将要到下次触发时间之前把值修改为 ACQUIRED,然后直接将该值又修改为 ERROR,这样就算到了触发时间点,job也不会执行(根本没触发),该状态就一直为ERROR,且未打印任何异常、报错日志

3、两个环境都使用同一份代码,只是数据库连接指向有区别

主要就是上述现象,折腾了几天了,也未找到原因,所以一直没解决,还请有处理过相关问题的OSCER帮忙看下,谢谢!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

緦唸λ蓇 2021-12-01 10:46:32

mysql,对象结构对比,具体是指什么?

岁吢 2021-12-01 05:36:32

回复
表结构对比

半世蒼涼 2021-11-30 22:08:42

回复
直接重新创建了一个库,又好了。。。咨询了下,说是可能因为 开发机器 连了 生产数据库的quartz库,开发机器的时间和生产数据库的时间不一致导致导致的quartz内部的异常,总之现在是恢复正常了

终遇你 2021-11-30 10:29:11

经验之谈: 将两数据库 对象结构对比一下  应该会发现问题

凯凯我们等你回来 2021-11-29 03:13:06

是不是表没建对或者编码有问题

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文