gpt4 book ai didi

mysql - 为什么 Hibernate/JDBC/MySQL 在一天左右后会断开连接?

转载 作者:IT老高 更新时间:2023-10-29 00:10:53 26 4
gpt4 key购买 nike

我有几个服务器进程,它们偶尔会响应来自客户端的消息并执行只读事务。

服务器运行大约几天后,它们停止正常工作,当我检查时发现有一大堆关于连接被关闭的消息。

当我检查出来时,发现 hibernate 默认情况下在某种开发模式下工作,在这种模式下连接会在几个小时后断开,我开始使用 c3po 进行连接池。

但是,即使使用 c3po,我也会在服务器启动后大约 24 小时左右遇到这个问题。

有没有人遇到过这个问题并且知道如何解决它?我对配置 hibernate 的复杂性不够熟悉。

最佳答案

MySQL JDBC 驱动程序在 8 小时不活动后超时并断开连接。

您可以在 JDBC URL 中设置 autoReconnect=true,如果您在断开连接后尝试查询,这会导致驱动程序重新连接。但这有副作用;例如,无法通过新连接维护 session 状态和事务。

如果您使用autoReconnect,JDBC 连接会重新建立,但它不会自动重新执行出现异常的查询。因此,您确实需要在应用程序中捕获 SQLException 并重试查询。

阅读http://dev.mysql.com/doc/refman/5.0/en/connector-j-reference-configuration-properties.html了解更多详情。

关于mysql - 为什么 Hibernate/JDBC/MySQL 在一天左右后会断开连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/270800/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com