没有使用Springboot HikariCP

时间:2017-09-19 12:51:39

标签: java spring-boot hikaricp

似乎没有使用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")

你能帮忙找到问题吗?

1 个答案:

答案 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的方式进行确认。