mysql连接经常中断_mybatis多数据源踩坑,数据库连接经常断开问题

博客讲述了在mybatis多数据源配置下遇到的数据库连接经常断开的问题,分析了配置错误的原因,即Spring在多数据源配置时,部分参数未正确匹配到DataSource的setter方法。解决方案是调整YAML配置文件,将数据库连接池相关参数直接放在数据源配置下,而非tomcat子节点下。
摘要由CSDN通过智能技术生成

问题

最近某项目上出现一个奇怪的问题,就是数据库经常隔几小时就报连接已关闭

9817234d63753bfed53d48e39fbda829.png

1845d319f7b1c62b9772b275771d5325.png

即使是加了如下配置也依然不行,网上也没找到什么文章解释这个坑

test-on-borrow: true

test-while-idle: true

validation-query: select 1 from dual

复制代码

关于上面配置为什么能解决连接中断可以看这三篇文章

排查

网上查不到,那就只能自己推敲猜测了。因为是mybatis多数据源的配置,所以每个db我都有专门写一个config作为连接配置。

9dc04b0a2f0024dd2a49d54e88f76c16.png

看着DataSourceConfig的代码,我突然想到,会不会是因为我使用到是DataSource默认创建方法,所以并没有读取到我写在application.yml的配置:

@Bean(name = "db1DataSource")

@ConfigurationProperties(prefix = "spring.datasource.db1")

@Primary

public DataSource dbDataSource() {

return DataSourceBuilder.create().build();

}

复制代码

果断跟进build()方法

public DataSource build() {

Class extends DataSource> type =

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值