程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL連接超時自動斷開連接問題

MySQL連接超時自動斷開連接問題

編輯:MySQL綜合教程

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

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved