最近一個項目中頻繁的出現Communications link failure due to underlying exception錯誤,
網上都說是因為超過8小時應用程序不去訪問mysql數據庫,數據庫就斷掉連接.
因為用的是c3p0,項目人氣不夠.....,所以有些連接的確空閑了8個小時.
網上有很多種解決方案.
1. 修改mysql參數,在mysql.ini的mysqld下面添加
wait_timeout=5
interactive_timeout=5
重啟mysql
2.寫調試程序
故意使一個連接空閑6秒,立馬報錯
3.修改c3p0配置,設置maxIdleTime的值,
只有這個值小于mysql的wait_timeout就行了,
調試 ok
4 .還原所有配置,在項目中增加maxIdleTime配置