elastic-job eventListener 一直报错。。。
我发当报错时 JobExecutionEvent就会重新生成一个对象,由于ID会变,
这两个方法都是根据ID去修改的。所以没有更新成功。
我在debug时发现只要报错,就不会再进来更新不明白这是什么原因造成的
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
第二个问题知道了哎,最终还是自己发现了问题。这个问题主要是来源于我改了他的源码 JobExecutionEvent 这个类的 ID的赋值造成的。我是不喜欢UUID,所以改成了自增,当入库成功后再赋值给他就会有问题。因为是多线程操作,当任务执行快时。他的修改操作可能在你还没有赋值ID时就已经发布了。这个时候这个对象就是线程的单独实例,因为线程的可见情况下。这时候再修改是没有做用的。所以导致更新时ID没有不能更新状态。
第一个问题还得麻烦各位指教一下。。。为什么老报这个。因为我任务执行是正常的
不好意思,由于我修改了源码,而没有考虑到发布事件监听在获取值时多线程的情况下获取到的值是属于线程独立属性,由于一些基础属性值不同步导至一直报错,经过debug已经修复问题。谢谢
但是我还是觉得这里面有一个奇怪的问题就是由于开启和结束是两个线程在跑,如果我的任务只是一个异步调度,也就是执行和结束都是非常快的情况,有可能会出现结束时间比执行时间早哦。。。。
第一个问题是指为什么报错吗?有两点反馈:
1. 日志太少不足以判断。
2. 建议先别改源码,跑通了再说,改了源码我们由于精力有限,实在无法支持。