我们现在面临着JDBC连接的问题,当我们运行负载测试的时候。几个小时都很顺利,但突然线程开始进入待定状态。 我检查了代码,没有发现我们在故意泄露任何连接。我在日志中看到的唯一的烟雾与我们的JPA调用有关。但它仍然没有回答为什么我们遇到了没有连接的问题。 我们使用的是Spring Boot 2.4.7, Hibernate 5.4.25, Hikari CP 3.4.5, JPA 2.2
日志 -
1 [LogType:Usage] DEBUG [payment-service,,] [15] [HikariPool-1 connection adder] [com.zaxxer.hikari.pool.HikariPool] HikariPool-1 - Added connection org.mariadb.jdbc. MariaDbConnection@44a351b0
但是在这中间我们看到,这就是我们的负载测试开始失败的地方->
[LogType:Usage] DEBUG [14] [HikariPool-1 housekeeper] [com.zaxxer.hikari.pool.HikariPool] HikariPool-1 - Pool stats(总数=15, active=15, idle=0, waiting=75)
配置 - connectionleakthreshold - 3000 (我们试过30000,但发现行为相同) 连接超时 - 30000
请阅读属性 - spring.jpa.open-in-view
https://raul8804.wordpress.com/2019/03/31/spring-boot-project-db-connection-leak-investigation/
这很奇怪,Spring如何为所有控制器添加事务。