一個單元測試引發的血案-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