1.原始配置,改造前:
spring:# 配置数据源信息datasource:dynamic:#设置默认的数据源或者数据源组,默认值即为masterprimary: masterstrict: truedatasource:#这里采用了配置文件取值的方式,可以直接替换为数据库连接master:url: jdbc:postgresql://127.0.0.1:1921/check_dbusername: check_dbpassword: 123456789driver-class-name: org.postgresql.Driver# 数据源2slave_1:url: jdbc:postgresql://127.0.0.2:1921/check_dbusername: check_dbpassword: 123456789driver-class-name: org.postgresql.Driverhikari:#连接池名pool-name: MyHikariCP#最小空闲数minimum-idle: 5#连接池最大数 默认是10maximum-pool-size: 100#空闲连接存活最大时间 默认:60000(10分钟)idle-timeout: 60000#此属性控制池中的最长生命周期,0: 表示无限生命周期,默认为1800000(30分钟)max-lifetime: 1800000#数据库连接超时时间默认30秒(30000)connection-timeout: 60000#此属性控制从池返回的链接默认自动提交行为,默认为trueauto-commit: true
上述配置:hikari 与dynamic 对齐,处于同级。都位于spring.datasource下。
如果是单数据源,这么配置生效,没问题,but 多数据源不生效。
加载上述配置,此时发现默认配置生效。
2.更新配置,改造后
spring:# 配置数据源信息datasource:dynamic:hikari:#连接池名pool-name: MyHikariCP#最小空闲数minimum-idle: 5#连接池最大数 默认是10maximum-pool-size: 100#空闲连接存活最大时间 默认:60000(10分钟)idle-timeout: 60000#此属性控制池中的最长生命周期,0: 表示无限生命周期,默认为1800000(30分钟)max-lifetime: 1800000#数据库连接超时时间默认30秒(30000)connection-timeout: 60000#此属性控制从池返回的链接默认自动提交行为,默认为trueauto-commit: true#设置默认的数据源或者数据源组,默认值即为masterprimary: masterstrict: truedatasource:#这里采用了配置文件取值的方式,可以直接替换为数据库连接master:url: jdbc:postgresql://127.0.0.1:1921/check_dbusername: check_dbpassword: 123456789driver-class-name: org.postgresql.Driver# 数据源2slave_1:url: jdbc:postgresql://127.0.0.2:1921/check_dbusername: check_dbpassword: 123456789driver-class-name: org.postgresql.Driver
将hikari 改到 dynamic 下面即可,再次运行项目,可观察到最新的配置生效。