org.springframework.transaction.CannotCreateTransactionException:无法为事务打开 JPA EntityManager

Posted

技术标签:

【中文标题】org.springframework.transaction.CannotCreateTransactionException:无法为事务打开 JPA EntityManager【英文标题】:org.springframework.transaction.CannotCreateTransactionException: Could not open JPA EntityManager for transaction 【发布时间】:2019-10-12 17:29:20 【问题描述】:

下面是我的hikariCP configuration

spring.datasource.hikari.connection-timeout=10000

spring.datasource.hikari.maximum-pool-size=10

spring.datasource.hikari.minimum-idle=15

spring.datasource.hikari.pool-name=HikariConnectionPool

在使用 JMeter 进行测试时,当我点击 500 threads 时,某些交易出现以下异常。

org.springframework.transaction.CannotCreateTransactionException: Could not open JPA EntityManager for transaction; nested exception is org.hibernate.exception.JDBCConnectionException: Unable to acquire JDBC Connection

【问题讨论】:

您似乎已达到最大负载。您的问题到底是什么? 如何配置 hikaricp 使其一次可以处理任意数量的线程? 你总会达到一个极限,同时500个线程还不够吗?您也可以显示您的代码,可能存在泄漏或错误实现 【参考方案1】:

谢谢,我已将连接超时从 10 秒更改为 100 秒,这解决了我的问题。

【讨论】:

以上是关于org.springframework.transaction.CannotCreateTransactionException:无法为事务打开 JPA EntityManager的主要内容,如果未能解决你的问题,请参考以下文章