spring-boot - 如何在 Spring Boot 2.0 上将默认 hikari cp 替换为 tomcat 池
问题描述
我已将 Spring Boot 应用程序迁移到 2.0,并发现 hikari 连接池存在一些问题。当我获取数据库数据时,这会导致 hikari cp timeout 即。连接不可用。我不知道为什么在以前的版本中它可以正常工作。
因此,我尝试在此配置中使用 tomcat 池,application.yml
但它不起作用(以正确的 YAML 格式)。
spring.datasource.type=org.apache.tomcat.jdbc.pool.DataSource
我的 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>
然而,hikari 问题可能与默认的小连接池大小有关。所以这个问题也可以通过这个改变来解决,但我自己没有验证。只为别人注意。像这样的东西:
spring.datasource.hikari.connection-timeout=60000
spring.datasource.hikari.maximum-pool-size=5
推荐阅读
- node.js - 如何在数组中查找数组的大小?
- javascript - ReactJs - 将实用功能传递给模式内的段落
- c# - log4net 无法生成预期的文件名
- java - 如何动态选择一个resultMap并将一个递增的整数值附加到MyBatis中的“不存在”列?
- c# - 在 C# 中从 json 创建动态对象
- scala - 从属性文件中读取属性
- jboss - 如何在 Jboss EAP 7 中使用阀门?
- wordpress - 如何自动从字段中获取标签?
- php - 我已将表格数据导出到 excel 中并提供了下载选项,但我想使用 php 将 excel 文件保存在文件夹中
- swift - 使用 Swift + Resift redux 库,是否可以从存储中检索以前的状态