proxool连接池空闲连接中断问题解决

原文地址:http://www.proxool.com/html/proxoolerror/20080308/49.html 
mysql 八小时断开连接异常,一起说明下. 

这里以mysql 8小时断开连接说下 

mysql的my.ini(my.cnf)本身有个设置 

interactive_timeout 

wait_timeout 

是设置断开的时间设置,愚蠢的版本就是直接加大这两个值 

正确的解决办法 

<driver-url>jdbc:mysql://localhost/testdb?autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=utf-8</driver-url> 

加上 autoReconnect=true 

还有使用 

<house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql> 

配置文件看起来像这样的 

proxool.xml 

<?xml version="1.0" encoding="UTF-8"?> 
<!-- the proxool configuration can be embedded within your own application's. 
Anything outside the "proxool" tag is ignored. --> 
<something-else-entirely> 
  <proxool> 
    <alias>DBTest</alias> 
    <driver-url>jdbc:mysql://localhost/testdb?autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=utf-8</driver-url> 
    <driver-class>com.mysql.jdbc.Driver</driver-class> 
    <driver-properties> 
      <property name="user" value=""/> 
      <property name="password" value=""/> 
    </driver-properties> 
    <house-keeping-sleep-time>9000</house-keeping-sleep-time> 
    <!--  <prototype-count>3</prototype-count> --> 
    <maximum-connection-count>25</maximum-connection-count> 
    <minimum-connection-count>5</minimum-connection-count> 
    <house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql> 
  </proxool> 
</something-else-entirely> 


如果使用Hibernate+Proxool在hibernate.cfg.xml也需要加上 

<property  name="connection.autoReconnect">true</property> 

看起来像这样的 



   <property name="hibernate.connection.provider_class">org.hibernate.connection.ProxoolConnectionProvider</property>
    <property name="dialect">org.hibernate.dialect.MySQLDialect</property> 
    

    <property  name="statement_cache.size">25</property> 
    <property  name="jdbc.fetch_size">50</property> 
    <property  name="jdbc.batch_size">50</property> 

    <property  name="connection.autoReconnect">true</property> 
    <property  name="connection.autoReconnectForPools">true</property> 
    <property  name="connection.is-connection-validation-required">true</property> 

    <property name="hibernate.proxool.pool_alias">DBTest</property> 
    <property name="hibernate.proxool.xml">proxool.xml</property> 


   <mapping resource="hibernate/map/test.hbm.xml" /> 
</session-factory> 

</hibernate-configuration>

转载于:https://www.cnblogs.com/ilahsa/archive/2013/04/22/3035169.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值