一个单元测试引发的血案-XxlJob 踩坑记

由于之前没有使用过XxlJob,所以在和同事咨询的情况下,直接开始了撸码操作。可是这个时候神奇的事情发生了。同事给的demo是基于XxlJob 1.9.1版本的demo,但是在我自己的项目,一直报jetty的class 版本是55和,jdk要求的class版本52对应不上。而我们知道,我是绝对不会升级jdk版本的。在尝试了各种jetty版本无效的情况下,果断更换了XxlJob为最新的版本2.1.2。点击-运行-完美通过。这个时候我美滋滋的以为将会毫无问题的时候,突然显示了一行红字:Application run failed!

我的内心是崩溃的。静下心来,源码调试,这个时候才发现。发现在注册JobHandler时候注册了两遍。导致抛出了Caused by: java.lang.RuntimeException: xxl-job jobhandler[*****] naming conflicts.的异常。

 

那么肯定是在有多个bean 生成了JobHandler对象,导致在获取bean并注册 JobHanlder时候多次注册。最终,在自定义的BeanConfig找到了自己为了方便测试,而写的bean工厂。

自此问题算事解决了,给自己一个教训。

 

posted @ 2020-02-11 20:37  错过  阅读(6474)  评论(0)    收藏  举报