最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JDBC實現(xiàn)Mysql自動重連機制的方法詳解

 更新時間:2017年07月26日 11:36:07   作者:dodott  
最近在工作中發(fā)現(xiàn)了一個問題,通過查找相關的資料終于解決了,下面這篇文章主要給大家介紹了關于JDBC實現(xiàn)Mysql自動重連機制的相關資料,文中給出多種解決的方法,需要的朋友可以參考借鑒,下面來一起看看吧。

前言

本文主要給大家介紹的是關于JDBC實現(xiàn)Mysql自動重連機制的相關內容,分享出來供大家參考學習,下面來一起看看詳細的介紹:

日志:using the Connector/J connection property 'autoReconnect=true' to avoid this problem

com.mysql.jdbc.CommunicationsException: The last packet successfully received from the server was58129 seconds ago.The last packet sent successfully to the server was 58129 seconds ago, which 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.

查了一下,原來是MySQL超時設置的問題

如果連接閑置8小時 (8小時內沒有進行數據庫操作), mysql就會自動斷開連接, 要重啟tomcat.

解決辦法:

第一種:如果不用hibernate的話, 則在 connection url中加參數: autoReconnect=true

 jdbc.url=jdbc:mysql://ipaddress:3306/database?autoReconnect=true&autoReconnectForPools=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>

第四種:最不好的解決方案

使用Connector/J連接MySQL數據庫,程序運行較長時間后就會報以下錯誤:

Communications link failure,The last packet successfully received from the server was *** millisecond ago.The last packet successfully sent to the server was ***  millisecond ago。

其中錯誤還會提示你修改wait_timeout或是使用Connector/J的autoReconnect屬性避免該錯誤。

后來查了一些資料,才發(fā)現(xiàn)遇到這個問題的人還真不少,大部分都是使用連接池方式時才會出現(xiàn)這個問題,短連接應該很難出現(xiàn)這個問題。

這個問題的原因:

MySQL服務器默認的“wait_timeout”是28800秒即8小時,意味著如果一個連接的空閑時間超過8個小時,MySQL將自動斷開該 連接,而連接池卻認為該連接還是有效的(因為并未校驗連接的有效性),當應用申請使用該連接時,就會導致上面的報錯。

⑴.按照錯誤的提示,可以在JDBC URL中使用autoReconnect屬性,實際測試時使用了autoReconnect=true& failOverReadOnly=false,不過并未起作用,使用的是5.1版本,可能真像網上所說的只對4之前的版本有效。

⑵.沒辦法,只能修改MySQL的參數了,wait_timeout最大為31536000即1年,在my.cnf中加入:

[mysqld]

wait_timeout=31536000

interactive_timeout=31536000

重啟生效,需要同時修改這兩個參數。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關文章

  • SpringBoot初始化加載配置的八種方式總結

    SpringBoot初始化加載配置的八種方式總結

    在日常開發(fā)時,我們常常需要 在SpringBoot應用啟動時執(zhí)行某一段邏輯,如獲取一些當前環(huán)境的配置或變量、向數據庫寫入一些初始數據或者連接某些第三方系統(tǒng),確認對方可以工作,那么在實現(xiàn)初始化邏輯代碼時就需要小心了,所以本文介紹了SpringBoot初始化加載配置的方式
    2024-12-12
  • SpringBoot常見get/post請求參數處理、參數注解校驗及參數自定義注解校驗詳解

    SpringBoot常見get/post請求參數處理、參數注解校驗及參數自定義注解校驗詳解

    這篇文章主要給大家介紹了關于SpringBoot常見get/post請求參數處理、參數注解校驗及參數自定義注解校驗的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-03-03
  • SpringBoot2.x中management.security.enabled=false無效的解決

    SpringBoot2.x中management.security.enabled=false無效的解決

    這篇文章主要介紹了SpringBoot2.x中management.security.enabled=false無效的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • mybatis原理概述入門教程

    mybatis原理概述入門教程

    這篇文章主要介紹了在今天這篇博文中,我將要介紹一下mybatis的框架原理,以及mybatis的入門程序,實現(xiàn)用戶的增刪改查,她有什么優(yōu)缺點以及mybatis和hibernate之間存在著怎么樣的關系,大家這些問題一起通過本文學習吧
    2016-09-09
  • Java虛擬機精選面試題20道

    Java虛擬機精選面試題20道

    現(xiàn)在面試Java開發(fā)時,基本都會問到Java虛擬機的知識,根據職位不同問的內容深淺又有所區(qū)別。本文整理了10道面試中常問的Java虛擬機面試題,希望對正在面試的同學有所幫助
    2021-06-06
  • 超細致講解Spring框架 JdbcTemplate的使用

    超細致講解Spring框架 JdbcTemplate的使用

    在之前的Javaweb學習中,學習了手動封裝JdbcTemplate,其好處是通過(sql語句+參數)模板化了編程。而真正的JdbcTemplate類,是Spring框架為我們寫好的。它是 Spring 框架中提供的一個對象,是對原始 Jdbc API 對象的簡單封裝。
    2021-09-09
  • JAVA String.valueOf()方法的用法說明

    JAVA String.valueOf()方法的用法說明

    這篇文章主要介紹了JAVA String.valueOf()方法的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Java數據結構之Map與Set專篇講解

    Java數據結構之Map與Set專篇講解

    這篇文章通過實例面試題目來講解Java中Map和Set之間的關系,具有很好的參考價值,Map與Set在面試中經常會遇到。一起跟隨小編過來看看吧
    2022-01-01
  • JAVA  靜態(tài)的單例的實例詳解

    JAVA 靜態(tài)的單例的實例詳解

    這篇文章主要介紹了JAVA 靜態(tài)的單例的實例詳解的相關資料,這里提供了實例方法,來說名不僅實現(xiàn)了延遲加載,又可以保證線程安全,不影響系統(tǒng)性能,需要的朋友可以參考下
    2017-07-07
  • SpringBoot集成screw實現(xiàn)數據庫文檔生成的代碼示例

    SpringBoot集成screw實現(xiàn)數據庫文檔生成的代碼示例

    數據庫設計文檔是項目技術文檔的重要組成部分,Screw 是一款開源的數據庫文檔生成工具,它支持多種數據庫類型,并能生成豐富格式的文檔,本文將通過一個實際的例子,展示如何使用 Spring Boot 集成 Screw 生成數據庫設計文檔
    2024-07-07

最新評論

沅江市| 龙陵县| 电白县| 灌云县| 大名县| 肥城市| 吉水县| 同德县| 莒南县| 浑源县| 蓬安县| 唐山市| 双柏县| 中西区| 闽侯县| 邹城市| 合阳县| 海晏县| 泰州市| 右玉县| 龙江县| 涟水县| 舟山市| 宕昌县| 桓台县| 南昌市| 大悟县| 塘沽区| 鄂伦春自治旗| 邓州市| 文成县| 鸡泽县| 常德市| 沙坪坝区| 华阴市| 柳林县| 嘉峪关市| 共和县| 高雄县| 横峰县| 格尔木市|