springboot1.5使用DataSourceBuilder.build读取yml配置文件装载druid连接池的时候,期望对象是:com.alibaba.druid.pool.DruidDataSource,实际上装载的是:org.apache.tomcat.jdbc.pool.DataSource。
下面描述问题出现以及解决过程:
1.问题出现,程序正常运行一段时间不操作,之后再也无法继续操作数据库,经过分析,mysql主动断开连接时间interactive_timeout和wait_timeout设置的是1个小时,初步定位是mysql主动断开空闲连接之后,程序的连接池使用的仍然是旧的连接实例。
2.此时连接池的配置如下:
application.yml:
spring:
application:
name: archive
datasource:
mdb:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://10.130.236.123:8066/mdb?useUnicode=true&characterEncoding=utf8
username: mdb
password: FASDSDJGJ782379482734==Xf34
filters: