似乎没有使用Hikaricp。
例如,spring.datasource.maximum-pool-size始终有效。 spring.datasource.hikari.maximum-pool-size不受影响。
我设置了以下内容:
in application.yml
spring:
datasource:
....
maximum-pool-size: 10
hikari:
connection-timeout: 60000
maximum-pool-size: 5
然后我通过netstat命令检查了连接数。 有10个连接。 似乎hikari的最大池大小不起作用。 即使我删除了spring.datasource.maximum-pool-size,也是如此 hikari的最大池大小仍然不起作用。
此外,我设置了以下日志事件,但没有关于HikariCP的日志。
logging:
level:
ROOT: NOTE
org.springframework: DEBUG
当然,我使用以下依赖项构建,以确保它删除了tomcat-jdbc:
compile("org.springframework.boot:spring-boot-starter-data-jpa") {
exclude group: 'org.apache.tomcat', module: 'tomcat-jdbc'
}
compile("org.springframework.boot:spring-boot-starter-jdbc") {
exclude group: 'org.apache.tomcat', module: 'tomcat-jdbc'
}
compile("com.zaxxer:HikariCP:2.6.0")
你能帮忙找到问题吗?
答案 0 :(得分:0)
我在需要两个数据库连接的spring boot应用程序中工作了。
这是我的配置bean:
@Bean
@Primary
@ConfigurationProperties("spring.datasource.primary")
public DataSourceProperties dataSourcePropertiesPrimary() {
return new DataSourceProperties();
}
@Bean
@Primary
@ConfigurationProperties("spring.datasource.primary.hikari")
public HikariDataSource dataSourcePrimary() {
return dataSourcePropertiesPrimary()
.initializeDataSourceBuilder()
.type(HikariDataSource.class)
.build();
}
还有我的application.properties
文件:
spring.datasource.primary.hikari.minimum-idle=1
spring.datasource.primary.hikari.maximum-pool-size=3
您可以使用Jolokia确认池大小之前和之后。
或者,您可以通过在调试模式下运行应用并在设置了HikariConfig.java
的私有方法validateNumerics
上指向指向文件maxPoolSize
的方式进行确认。