我已将Spring Boot应用程序迁移到2.0,并发现hikari连接池存在一些问题。当我获取数据库数据时,这导致hikari cp超时,即。连接不可用。我不知道为什么在以前的版本中这可以正常工作。
因此,我尝试在此配置中使用tomcat池,application.yml但是它不起作用(正确的YAML格式)。
application.yml
spring.datasource.type=org.apache.tomcat.jdbc.pool.DataSource
我的pom.xml具有与DB事物相关的以下依赖关系:
spring-boot-jpa spring-boot-jdbc jdbc7
如何排除hikari并使用tomcat连接池?
我找到了解决方案。可以通过以下修改在pom.xml中解决:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> <exclusions> <exclusion> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-jdbc</artifactId> </dependency>
但是,hikari问题可能与默认的连接池小尺寸有关。因此,通过此更改也可以解决此问题,但我自己无法验证。只是为别人注意。像这样:
spring.datasource.hikari.connection-timeout=60000 spring.datasource.hikari.maximum-pool-size=5