Spring JPA不一致的响应

时间:2015-09-29 11:49:45

标签: java spring exception jpa

我有一个Spring提供Rest服务,以及一个调用Rest端点的网页。在Spring背后我有一个Mysql数据库和JPA来访问它。

最近,当我的网页调用端点时,他们一直在返回不一致的响应。也就是说,有时响应是预期的结果,有时是两个异常中的一个。

Could not open JPA EntityManager for transaction; nested exception is javax.persistence.PersistenceException: org.hibernate.TransactionException: JDBC begin transaction failed: 
Could not roll back JPA transaction; nested exception is javax.persistence.PersistenceException: unexpected error when rollbacking

更糟糕的是,当我手动调用浏览器中的端点时,我总是得到预期的响应。 我的网页在很短的时间内调用了6个或7个端点,这可能是个问题吗?如果没有,任何想法可能导致这种行为?

1 个答案:

答案 0 :(得分:0)

由此,您的数据库很可能会收到太多请求,请求会被超时,这会导致异常。但是,您只能确定是否还要检查数据库的日志,因为它会提供有关连接断开原因的信息。

如果是这种情况,您可以采取多种方法:

  • 增加Web容器和/或数据库一侧的超时时间
  • 尝试降低对数据库的请求数
  • 优化连接池,因此您不会遇到超时