我遇到了这个问题,我在HikariCP 2.7.9中使用的是Spring Boot 1.5.9版本,并且也在最新的3.2.0中进行了测试,我遵循了我在互联网上找到的所有建议,例如pom上的一个建议:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<exclusions>
<exclusion>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jdbc</artifactId>
</exclusion>
</exclusions>
</dependency>
这是我的配置文件:
# DataSource settings:
spring.datasource.url=jdbc:mysql://localhost:3306/db?useSSL=false
spring.datasource.username=root
spring.datasource.password=
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
spring.datasource.hikari.connection-init-sql= SELECT 1
spring.datasource.hikari.maximum-pool-size= 50
spring.datasource.hikari.validation-timeout=34000
spring.datasource.hikari.pool-name=Custom-Hikari-Connection-Pool
spring.datasource.hikari.data-source-properties.cachePrepStmts=true
spring.datasource.hikari.data-source-properties.prepStmtCacheSize=250
spring.datasource.hikari.data-source-properties.prepStmtCacheSqlLimit=2048
spring.datasource.hikari.data-source-properties.useServerPrepStmts=true
spring.datasource.hikari.data-source-properties.useLocalSessionState=true
spring.datasource.hikari.data-source-properties.rewriteBatchedStatements=true
spring.datasource.hikari.data-source-properties.cacheResultSetMetadata=true
spring.datasource.hikari.data-source-properties.cacheServerConfiguration=true
spring.datasource.hikari.data-source-properties.elideSetAutoCommits=true
spring.datasource.hikari.data-source-properties.maintainTimeStats=false
服务器启动后,我在控制台中看到以下日志:
2018-09-04 12:38:34.250 DEBUG 43564 --- [愚人管家] com.zaxxer.hikari.pool.HikariPool: Custom-Hikari-Connection-Pool-池统计信息(总数= 50,有效= 0, 闲置= 50,等待= 0)
2018-09-04 12:38:37.913调试43564 --- [l-1管家] com.zaxxer.hikari.pool.HikariPool:HikariPool-1-池统计 (总数= 10,活动= 0,空闲= 10,等待= 0)
所以我的问题是,为什么在那里有两个池?如果我只配置了一个:
自定义Hikari连接池