一、问题描述
项目集成xxl-jbo的调度中心时,项目启动当执行到打印“init xxl-job admin scheduler success.”后,项目就卡住了无法执行下去。

二、排查问题
1.在JobScheduleHelper类下的第56行找到打印语句。

2.debuug下断点排查。当执行到了第73行时,执行不下去。

3.初步确定,在获取从数据源里数据库连接时卡住。往上排查,找到XxlJobAdminConfig类,是它提供的getAdminConfig方法。

4.加入断点,重启一次,查看数据。


可以看到这里的数据源使用springboot默认数据源hikari,而且是null。
当释放断点会程序会再次执行到这里,当释放4-5次后,数据出现变化了。

当此时,关掉断点,释放拦截后,程序可以正常的执行下去了。
如果不在getAdminConfig方法加断点,程序是一直获取不到数据源,也就一直卡着了!
三、解决问题
在一次试图禁止spring boot自动配置HikariDataSource的尝试中,问题得到解决。
在启动类加入如下注解
@SpringBootApplication(exclude={DataSourceAutoConfiguration.class})
加入注解后,程序可以正常执行,每次关闭程序时,可以看到HikariDataSource都被关闭。

项目集成XXL-Job调度中心时遭遇启动卡顿问题,深入排查发现与SpringBoot默认数据源Hikari冲突。通过禁用自动配置解决,确保程序正常执行。
48

被折叠的 条评论
为什么被折叠?



