It is possible via application.yaml file and little DSL configuration.
application.yaml:
spring:
datasource:
first:
driver-class-name: com.mysql.cj.jdbc.Driver
password: #{DB_FIRST_PASSWORD}#
username: #{DB_FIRST_USERNAME}#
url: jdbc:mysql://#{DB_FIRST_HOST}#:#{DB_FIRST_PORT}#/#{DB_FIRST_NAME}#
hikari:
maximum-pool-size: 5
minimum-idle: 5
second:
driver-class-name: org.postgresql.Driver
password: #{DB_SECOND_PASSWORD}#
username: #{DB_SECOND_USERNAME}#
url: jdbc:postgresql://#{DB_SECOND_HOST}#:#{DB_SECOND_PORT}#/#{DB_SECOND_NAME}#
hikari:
maximum-pool-size: 3
minimum-idle: 3
100班
@Configuration
class DataSourceConfiguration {
@get:Bean
@get:ConfigurationProperties("spring.datasource.first")
val firstDataSourceProperties = DataSourceProperties()
@get:Bean
@get:ConfigurationProperties("spring.datasource.second")
val secondDataSourceProperties = DataSourceProperties()
@Bean
@Primary
@ConfigurationProperties("spring.datasource.second.hikari") // GETS HIKARI CONFIGURATION
fun firstDataSource(): DataSource =
primaryDataSourceProperties
.initializeDataSourceBuilder()
.build()
@Bean
@ConfigurationProperties("spring.datasource.second.hikari") // GETS HIKARI CONFIGURATION
fun secondDataSource(): DataSource =
deliveryDataSourceProperties
.initializeDataSourceBuilder()
.build()
此外,您还可以使用100批注指定数据源Hikari配置