解决项目集成xxl-job时,出现启动因获取不到数据源而卡住的问题。

一、问题描述

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值