MySQL连接超时自动断开连接问题_MySQL

WBOY
發布: 2016-06-01 13:31:59
原創
1275 人瀏覽過

bitsCN.com

MySQL连接超时自动断开连接问题

 

描述:

 

    用mybatis2.3.5实现做应用时,程序中报以下错误: 

    com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:  

    The last packet successfully received from the server was 79,221,885 milliseconds ago.  

    The last packet sent successfully to the server was 79,221,885 milliseconds ago.  

    is longer than the server configured value of 'wait_timeout'.  

    You should consider either expiring and/or testing connection validity before use in your application,  

    increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.  

 

解释及解决办法: 

 

    如果连接闲置8小时 (mysql的wait_timeout参数默认时间), mysql就会自动断开连接, 得刷新应用才行.  

    不用hibernate的话, connection url加参数:

autoReconnect=true  
登入後複製

用hibernate的话, 加如下属性:

  <property name="connection.autoReconnect">true</property>          <property name="connection.autoReconnectForPools">true</property>          <property name="connection.is-connection-validation-required">true</property>  
登入後複製

要是还用c3p0连接池:

   <property name="hibernate.c3p0.acquire_increment">1</property>          <property name="hibernate.c3p0.idle_test_period">0</property>          <property name="hibernate.c3p0.timeout">0</property>         <property name="hibernate.c3p0.validate">true</property>
登入後複製

例:

jdbc.url=jdbc:mysql://localhost:3306/yht_wxt?zeroDateTimeBehavior=convertToNull&useUnicode=True&characterEncoding=utf8&autoReconnect=true&autoReconnectForPools=true
登入後複製

 


bitsCN.com
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板