一尘不染

如何在Spring Boot 2.0上将默认的hikari cp替换为tomcat池

spring-boot

我已将Spring Boot应用程序迁移到2.0,并发现hikari连接池存在一些问题。当我获取数据库数据时,这导致hikari
cp超时,即。连接不可用。我不知道为什么在以前的版本中这可以正常工作。

因此,我尝试在此配置中使用tomcat池,application.yml但是它不起作用(正确的YAML格式)。

spring.datasource.type=org.apache.tomcat.jdbc.pool.DataSource

我的pom.xml具有与DB事物相关的以下依赖关系:

spring-boot-jpa
spring-boot-jdbc
jdbc7

如何排除hikari并使用tomcat连接池?


阅读 342

收藏
2020-05-30

共1个答案

一尘不染

我找到了解决方案。可以通过以下修改在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
2020-05-30