`

解决MySQL8小时自动断开连接的问题

    博客分类:
  • WEB
阅读更多
    mysql在启动后,如果一段时间内没有活动,那么将自动关闭该连接。这段时间,默认为8小时。在spring+hibernate中解决该问题,应该使用proxool这个连接池来代替DBCP的连接池。因为DBCP连接池没有自动重连功能。

修改applicationContext.xml:
<bean id="dataSource" class="org.logicalcobwebs.proxool.ProxoolDataSource" destroy-method="close">
         <property name="driver">
             <value>com.mysql.jdbc.Driver</value>
         </property>
         <property name="driverUrl">
             <value>jdbc:mysql://host:3306/dbname?user=root&password=pass</value>
         </property>
         <property name="user">
             <value>root</value>
         </property>
         <property name="password">             
             <value>pass</value>
         </property>
         <property name="alias">
             <value>mysql</value>
         </property>
         <property name="prototypeCount">
             <value>5</value>
         </property>
         <property name="maximumConnectionCount">
             <value>100</value>
         </property>
         <property name="minimumConnectionCount">
             <value>2</value>
         </property> 
         <property name="houseKeepingTestSql"> 
             <value>SELECT 1</value> 
          </property>            
         <property name="testBeforeUse">
             <value>true</value>
         </property>
         <property name="testAfterUse">
             <value>true</value>
         </property>
         <property name="trace">
             <value>true</value>
         </property>
    </bean> 


在上面的代码中,
<property name="testBeforeUse">
     <value>true</value>
</property>

用来指定在使用连接之前要进行测试。

<property name="houseKeepingTestSql">
    <value>SELECT 1</value>
</property>

用来指定测试连接所使用的SQL语句。
如果测试发现连接已经close,那么将自动重建连接。

然后从http://proxool.sourceforge.net/download.html下载proxool的ZIP包。本地解压之后,拷贝proxool.jar和proxool-cglib.jar到/WEB-INF/lib下即可。

摘自:http://electiger.blog.51cto.com/112940/119042
分享到:
评论

相关推荐

    mysql连接的空闲时间超过8小时后 MySQL自动断开该连接解决方案

    解决这个问题的办法有三种: 1. 增加 MySQL 的 wait_timeout 属性的值。 修改 /etc/mysql/my.cnf文件,在 [mysqld] 节中设置: # Set a connection to wait 8hours in idle status. wait_timeout =86400 相关参数,...

    qt中mysql超时自动断开连解决方案.txt

    可以直接通过设置来达到重连问题,方法很简单,里面有复现自动断开连接导致不能正常插入数据的方法,是自己没有积分所以才要积分

    nodejs 关于mysql模块 连接超时自动断开解决方法

    nodejs 关于mysql模块 连接超时自动断开解决方法,在这块遇到的坑,而且坑了很久才找到的,分享只为求分

    hibernate+proxool解决mysql8小时问题(附带jar包)

    hibernate+proxool解决mysql连接8小时自动断开问题.proxool-0.8.3.jar下载

    MySQL+Hibernate下连接空闲8小时自动断开问题解决方案.docx

    ...

    MySQL+Hibernate下连接空闲8小时自动断开问题解决方案.pdf

    。。。

    mysql服务自动停止解决方案.txt

    在mysql数据库中,如果一个连接8小时没有请求和操作,就会自动断开,从而导致一些基于数据库连接的应用程序,特别是 web 应用程序出错。 1、操作步骤 我的电脑-右击-服务-找到mysql服务 双击新窗口中 -》恢复...

    MYSQL

    4.13 OS/2 注意事项 4.14 TcX 二进制代码 4.15 安装后期(post-installation)的设置与测试 4.15.1 运行mysql_install_db 的问题 4.15.2 启动 MySQL 服务器的问题 4.15.3 自动启动和停止 ...

    MySQL中文参考手册.chm

    4.13 OS/2 注意事项 4.14 TcX 二进制代码 4.15 安装后期(post-installation)的设置与测试 4.15.1 运行mysql_install_db 的问题 4.15.2 启动 MySQL 服务器的问题 4.15.3 自动启动和停止...

    MySQL 5.1官方简体中文参考手册

    目录 前言 1. 一般信息 ...3.1. 连接与断开服务器 3.2. 输入查询 3.3. 创建并使用数据库 3.3.1. 创建并选择数据库 3.3.2. 创建表 3.3.3. 将数据装入表中 3.3.4. 从表检索信息 3.4. 获得数据库和表的信息 ...

    MySQL中文参考手册

    + 4.15.3 自动启动和停止 MySQL + 4.15.4 选项文件 o 4.16 升级和降级(downgrading)时有什么特别要做的事情吗? + 4.16.1 从一个 3.22 版本升级到 3.23 + 4.16.2 从一个 3.21 版本升级到 3.22 + 4.16.3 从...

    MySQL 5.1参考手册

    3.1. 连接与断开服务器 3.2. 输入查询 3.3. 创建并使用数据库 3.3.1. 创建并选择数据库 3.3.2. 创建表 3.3.3. 将数据装入表中 3.3.4. 从表检索信息 3.4. 获得数据库和表的信息 3.5. 在批处理模式下使用mysql 3.6. ...

    mysql-binlog-connector-java:MySQL二进制日志连接器

    可恢复的断开连接 可插拔故障转移策略 binlog_checksum = CRC32支持(对于MySQL 5.6.2+用户) 通过TLS进行安全通信 对JMX友好 实时统计 Maven Central的可用性 没有第三方依赖 不同版本MySQL发行版的测试套件 如果...

    MySQL 5.1参考手册中文版

    3.1. 连接与断开服务器 3.2. 输入查询 3.3. 创建并使用数据库 3.3.1. 创建并选择数据库 3.3.2. 创建表 3.3.3. 将数据装入表中 3.3.4. 从表检索信息 3.4. 获得数据库和表的信息 3.5. 在批处理模式下使用mysql ...

    mysql5.1中文手册

    连接与断开服务器 3.2. 输入查询 3.3. 创建并使用数据库 3.3.1. 创建并选择数据库 3.3.2. 创建表 3.3.3. 将数据装入表中 3.3.4. 从表检索信息 3.4. 获得数据库和表的信息 3.5. 在批处理...

    MySQL 5.1参考手册 (中文版)

    3.1. 连接与断开服务器 3.2. 输入查询 3.3. 创建并使用数据库 3.3.1. 创建并选择数据库 3.3.2. 创建表 3.3.3. 将数据装入表中 3.3.4. 从表检索信息 3.4. 获得数据库和表的信息 3.5. 在批处理模式下使用mysql 3.6. ...

    MYSQL中文手册

    3.1. 连接与断开服务器 3.2. 输入查询 3.3. 创建并使用数据库 3.3.1. 创建并选择数据库 3.3.2. 创建表 3.3.3. 将数据装入表中 3.3.4. 从表检索信息 3.4. 获得数据库和表的信息 3.5. 在批处理模式下使用mysql...

    mysql连接过多和死掉以及拒绝服务的解决方法

    mysql连接过多导致总是死掉,后来网上搜索发现此文自Mysql 5.x的某个版本之后,Mysql的自动关闭空闲连接的特性修改了,如果一个连接空闲到超时时间(默认28000秒8小时),再次发起的Reconnect重新连接请求不会被...

Global site tag (gtag.js) - Google Analytics