一、问题描述

项目集成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都被关闭。
在这里插入图片描述

GitHub 加速计划 / xx / xxl-job
27.15 K
10.79 K
下载
xxl-job: 是一个分布式任务调度平台,核心设计目标是开发迅速、学习简单、轻量级、易扩展。
最近提交(Master分支:1 个月前 )
e5d26ba2 - 2 个月前
977ad87b - 2 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐