您好,我在我的项目中使用Springboot和Hikari进行数据库连接。springboot版本是2.2.5.RELEASE,Hikari是3.4.2。但是,当我运行我的项目时,它总是使用Hikari默认配置值,而不是使用属性文件中的值。以下是我的特性:
spring.datasource.jdbcUrl=#####
spring.datasource.username=###
spring.datasource.password=###
spring.datasource.hikari.maximumPoolSize=4
spring.datasource.hikari.connectionTimeout=300000
以下是我在应用程序配置中的数据源:
@Primary
@ConfigurationProperties(prefix = "spring.datasource")
@Bean
public DataSource DBDatasource() {
return DataSourceBuilder.create().build();
}
下面是输出: 10:23:19.050 main DEBUG com.zaxxer.hikari.HikariConfig -maxLifetime.....................1800000
10:23:19.050主调试com.zaxxer.hikari.HikariConfig -最大池大小.............10
我错过什么了吗?
发布于 2020-08-15 01:45:02
您正在覆盖默认的DataSource自动配置。下面是如何正确初始化hikari数据源的方法:
@Bean
@ConfigurationProperties(prefix = "spring.datasource.hikari")
HikariDataSource dataSource(DataSourceProperties properties) {
HikariDataSource dataSource = properties
.initializeDataSourceBuilder()
.type(HikariDataSource.class).build();
if (StringUtils.hasText(properties.getName())) {
dataSource.setPoolName(properties.getName());
}
return dataSource;
}发布于 2020-08-16 06:22:38
只需要在没有'hikari‘的情况下在属性文件中进行配置即可:
spring.datasource.maximumPoolSize=4
https://stackoverflow.com/questions/63417547
复制相似问题