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 下面即可,再次運行項目,可觀察到最新的配置生效。