2、mysql重連問(wèn)題

問(wèn)題描述

2018-08-13 16:50:54  [ qtp2048834776-21:Slf4JLogger:79539 ] - [ ERROR ]  Begin Transaction error !
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 40,578,310 milliseconds ago.  The last packet sent successfully to the server was 40,578,315 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.

    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)

錯(cuò)誤原因

Mysql服務(wù)器默認(rèn)的“wait_timeout”是8小時(shí)【也就是默認(rèn)的值默認(rèn)是28800秒】,也就是說(shuō)一個(gè)connection空閑超過(guò)8個(gè)小時(shí),Mysql將自動(dòng)斷開(kāi)該connection,通俗的講就是一個(gè)連接在8小時(shí)內(nèi)沒(méi)有活動(dòng),就會(huì)自動(dòng)斷開(kāi)該連接。而應(yīng)用連接池卻認(rèn)為該連接還是有效的(因?yàn)椴⑽葱r?yàn)連接的有效性),當(dāng)應(yīng)用申請(qǐng)使用該連接時(shí),就會(huì)導(dǎo)致上面的報(bào)錯(cuò)。

解決方法

1、autoReconnect=true

按照日志提示,設(shè)置autoReconnect=true會(huì)自動(dòng)連接。但是查看線上配置環(huán)境已經(jīng)這么設(shè)置了,網(wǎng)上很多人說(shuō)mysql客戶端5.0后不支持這個(gè)配置了,即設(shè)置了也沒(méi)有任何用。

2、dpcp連接池

dpcp屬性明細(xì).jpg

3、c3p0

通過(guò)idleConnectionTestPeriod和maxIdleTime 這兩個(gè)參數(shù)的配置,具體就是必須小于mysq server端的wait_time時(shí)間設(shè)置

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,688評(píng)論 19 139
  • feisky云計(jì)算、虛擬化與Linux技術(shù)筆記posts - 1014, comments - 298, trac...
    不排版閱讀 4,378評(píng)論 0 5
  • MYSQL 基礎(chǔ)知識(shí) 1 MySQL數(shù)據(jù)庫(kù)概要 2 簡(jiǎn)單MySQL環(huán)境 3 數(shù)據(jù)的存儲(chǔ)和獲取 4 MySQL基本操...
    Kingtester閱讀 8,071評(píng)論 5 115
  • https://blog.csdn.net/steven_liwen/article/details/531884...
    SkTj閱讀 2,474評(píng)論 0 16
  • 演員即使在最深的痛苦中,也不會(huì)最終停止考慮他的角色給人的印象和總體戲劇效果,假如甚至在他孩子的葬禮上,他...
    一條魚(yú)__閱讀 224評(píng)論 1 0

友情鏈接更多精彩內(nèi)容