Spring boot 如何在spring boot 2.0上将默认hikari cp替换为tomcat池
我已经将spring boot应用程序迁移到2.0,并发现hikari连接池存在一些问题。当我提取数据库数据时,这会导致hikari cp超时,即连接不可用。我不知道为什么在上一个版本中,它工作正常 因此,我在Spring boot 如何在spring boot 2.0上将默认hikari cp替换为tomcat池,spring-boot,tomcat,connection,default,pool,Spring Boot,Tomcat,Connection,Default,Pool,我已经将spring boot应用程序迁移到2.0,并发现hikari连接池存在一些问题。当我提取数据库数据时,这会导致hikari cp超时,即连接不可用。我不知道为什么在上一个版本中,它工作正常 因此,我在application.yml中尝试将tomcat池与此配置一起使用,但它不起作用(以正确的YAML格式) My pom.xml具有以下与数据库相关的依赖关系: spring-boot-jpa spring-boot-jdbc jdbc7 如何排除hikari并使用tomcat连接池?我
application.yml
中尝试将tomcat池与此配置一起使用,但它不起作用(以正确的YAML格式)
My pom.xml具有以下与数据库相关的依赖关系:
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>
spring.datasource.hikari.connection-timeout=60000
spring.datasource.hikari.maximum-pool-size=5
此外:
配合
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jdbc</artifactId>
</dependency>
org.apache.tomcat
TomcatJDBC
自Spring Boot 2.0发布以来,Spring Boot starter jdbc和Spring Boot starter数据jpa默认解析HikariCP依赖项,Spring.datasource.type属性将HikariDataSource作为默认值。因此,如果您的应用程序中同时存在这两个依赖项,则应将其从以下两个依赖项中排除
implementation('org.springframework.boot:spring-boot-starter-data-jpa') {
exclude group: 'com.zaxxer', module: 'HikariCP'
}
implementation('org.springframework.boot:spring-boot-starter-jdbc') {
exclude group: 'com.zaxxer', module: 'HikariCP'
}
之后,您可以配置您喜欢使用的其他池技术,如下所示
.
在application.yml文件中:
spring:
datasource:
type: org.apache.tomcat.jdbc.pool.DataSource
从属关系:
implementation('org.apache.tomcat:tomcat-jdbc')
我在撒谎。。。关于池大小的增加,只有排除帮助:/hikari仍然处于活动状态。它仍然无法解决Hikari问题,我们的设置为20分钟和100分钟,我们有时会出现错误,我们的生产系统崩溃。这很有帮助。谢谢!
spring:
datasource:
type: org.apache.tomcat.jdbc.pool.DataSource
implementation('org.apache.tomcat:tomcat-jdbc')