【发布时间】:2021-10-03 11:16:55
【问题描述】:
我正在使用 spring jpa 和 spring starter 版本 <version>2.2.4.RELEASE</version> 开发一个 springboot 应用程序
我已经为 tomcat 定义了以下属性,并且还排除了 HikariCP 注意:HikariCP 也不起作用
application.properties
spring.datasource.type=org.apache.tomcat.jdbc.pool.DataSource
spring.datasource.tomcat.initial-size=30
spring.datasource.tomcat.max-wait=60000
spring.datasource.tomcat.max-active=300
spring.datasource.tomcat.min-idle=30
spring.datasource.tomcat.default-auto-commit=true
我已经尝试了所有组合并且也使用了默认值,但在 2-3 次 API 调用后我遇到了错误。
o.h.engine.jdbc.spi.SqlExceptionHelper : [http-nio-8080-exec-5] Timeout: Pool empty. Unable to fetch a connection in 30 seconds, none available[size:4; busy:
4; idle:0; lastwait:30000].
【问题讨论】:
-
不幸的是,仅靠属性不足以诊断问题。您确定正在使用自动配置的
DataSource吗?如果您的应用程序定义了自己的DataSourcebean,则这些属性将不起作用。 minimal, reproducible example 在这里很有用。
标签: spring-boot tomcat spring-data-jpa spring-jdbc