【问题标题】:Spring MVC, Hibernate - JDBC Connection closed, Transaction resolution unknownSpring MVC,Hibernate - JDBC连接关闭,事务解析未知
【发布时间】:2014-09-11 16:59:54
【问题描述】:

我正在使用 Hibernate Search 索引 MySQL 表,这需要一些时间。之后抛出异常:

Communications link failure 成功接收到的最后一个数据包 服务器在 239 757 毫秒前。

发送的最后一个数据包 成功到服务器是 30 毫秒前。

无法提交 commit() 期间休眠事务通信链接失败。 交易解析未知。

索引是在使用 @Transactional(readOnly = true) 注释的方法中完成的。

MySQL 服务器在 my.cnf 指令中有:wait_timeout = 60

如何指示 Spring/Hibernate 不关闭活动事务? 我使用 HikariCP 作为数据源。

谢谢。

【问题讨论】:

  • 你能真正发布完整的堆栈跟踪吗?此外,您似乎正在处理数据库设置/通信错误。与 Hibernate Search 没有太大关系。你看过这个帖子 - stackoverflow.com/questions/6865538/… 吗?您的连接设置如何?
  • 谢谢你的链接,我以前没见过。我已将 wait_timeout 更改为 3 小时,错误消失了。但我不喜欢这个解决方案,所以我会从你的链接中尝试一些提示。谢谢。

标签: hibernate spring-mvc spring-transactions hibernate-search


【解决方案1】:

您需要将 HikariCP idleTimeoutmaxLifetime 设置为小于 my.cnf 超时的值。答案见HikariCP FAQ

【讨论】:

    猜你喜欢
    • 2011-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-22
    • 1970-01-01
    • 2015-02-11
    • 2014-03-30
    • 2017-02-17
    相关资源
    最近更新 更多