一个单元测试引发的血案-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工厂。

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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM