当前位置: 首页 > 面试题库 >

为什么Hibernate / JDBC / MySQL在一天左右的时间内会断开连接?

夏景胜
2023-03-14
问题内容

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

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

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

但是,即使使用c3po,在启动服务器后约24小时仍会出现此问题。

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


问题答案:

在闲置8个小时后,MySQL JDBC驱动程序超时并断开连接。

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

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

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



 类似资料:
  • 内连接,显示两个表中有联系的所有数据; 左链接,以左表为参照,显示所有数据,右表中没有则以null显示 右链接,以右表为参照显示数据,,左表中没有则以null显示

  • 本文向大家介绍MySQL 的内连接、左连接、右连接有什么区别?相关面试题,主要包含被问及MySQL 的内连接、左连接、右连接有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 内连接关键字:inner join;左连接:left join;右连接:right join。 内连接是把匹配的关联数据显示出来;左连接是左边的表全部显示出来,右边的表显示出符合条件的数据;右连接正好相反。

  • null 我的数据库服务器在x86_64-unknown-linux-gnu上运行

  • 本文向大家介绍mysql的左右内连接用法实例,包括了mysql的左右内连接用法实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了mysql的左右内连接用法。分享给大家供大家参考。具体如下: 用个例子来解析下mysql的左连接, 右连接和内连接 一. 左连接: user_id居左,故谓之左连接。 这种情况下,以user_id为主,即user_id中的所有记录均会被列出。分以下三种情况: 1

  • 我在OS X 10.9.5上使用MySQL Workbench 6.3来管理多个云数据库(托管在Rackspace上),我遇到了以下问题: 闲置5分钟后,会出现以下问题: 我无法运行任何查询(错误 2013:查询期间失去与 MySQL 服务器的连接) 尝试浏览数据库上的表时,我收到诸如“无法获取表”、“无法获取视图”等消息 刷新左侧面板时,出现“错误代码:2006 MySQL服务器已消失” 所以基

  • 问题内容: 我已经尝试解决这个问题一段时间了,希望有人能帮助我。我有两个桌子,第一个桌子是 表名:OnlineTest 第二张表是 表名称:UserStatus 结果 我已经试过这个查询, 但是此查询将带出结果的前两行,而不是最后两行,其中userId和status为null。 如何带来以上结果? 问题答案: 将谓词放在子句中: 这将返回的所有行,其中谓词失败的列填充为。