when i using default Spring Boot datasource that create by DataSourceAutoConfiguration hikari pool is correct and max size is ok but i want create custom datasource to set that @primary .
there are some way to create custom Datasource, one of that is
@Bean
@ConfigurationProperties(prefix = "spring.datasource")
publicDataSourcedataSource() {
return DataSourceBuilder.create().build();
}
datasource: jdbc-url: jdbc:mysql://localhost:3306/ihs?useUnicode=yes&characterEncoding=utf8&useSSL=false username:root password:pass hikari: maximum-pool-size:50
when create datasource by this way max pool size is not set ,after google, i fount that DataSourceBuilder dose not set Hikari prop
2017-08-14 22:51:22.844 DEBUG 31814 --- [l-1 housekeeper] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Pool stats (total=10, active=0, idle=50, waiting=0)
Another way for create custom datasource is like this :
@Bean
@Primary
@ConfigurationProperties("spring.datasource.hikari")
publicDataSourcePropertiesdataSourceProperties() {
returnnewDataSourceProperties();
}
@Bean
@Primary
@ConfigurationProperties("spring.datasource.hikari")
publicDataSourcedataSource() {
returndataSourceProperties().initializeDataSourceBuilder().build();
}
2017-08-14 22:51:22.844 DEBUG 31814 --- [l-1 housekeeper] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Pool stats (total=50, active=0, idle=50, waiting=0)