我发当报错时 JobExecutionEvent就会重新生成一个对象,由于ID会变,
这两个方法都是根据ID去修改的。所以没有更新成功。
我在debug时发现只要报错,就不会再进来更新不明白这是什么原因造成的
第一个问题是指为什么报错吗?有两点反馈:
1.日志太少不足以判断。
2.建议先别改源码,跑通了再说,改了源码我们由于精力有限,实在无法支持。
但是我还是觉得这里面有一个奇怪的问题就是由于开启和结束是两个线程在跑,如果我的任务只是一个异步调度,也就是执行和结束都是非常快的情况,有可能会出现结束时间比执行时间早哦。。。。不好意思,由于我修改了源码,而没有考虑到发布事件监听在获取值时多线程的情况下获取到的值是属于线程独立属性,由于一些基础属性值不同步导至一直报错,经过debug已经修复问题。谢谢第二个问题知道了哎,最终还是自己发现了问题。这个问题主要是来源于我改了他的源码 JobExecutionEvent这个类的ID的赋值造成的。我是不喜欢UUID,所以改成了自增,当入库成功后再赋值给他就会有问题。因为是多线程操作,当任务执行快时。他的修改操作可能在你还没有赋值ID时就已经发布了。这个时候这个对象就是线程的单独实例,因为线程的可见情况下。这时候再修改是没有做用的。所以导致更新时ID没有不能更新状态。
第一个问题还得麻烦各位指教一下。。。为什么老报这个。因为我任务执行是正常的
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。