<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    ivaneeo's blog

    自由的力量,自由的生活。

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks

    之前做了一個web項目的時候,好好的網站第二天總是會提示using the Connector/J connection property 'autoReconnect=true' to avoid this problem.  這樣的錯誤

    1com.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就會自動斷開連接

    第一種解決方案是在 connection url中加參數: autoReconnect=true

    1jdbc.url=jdbc:mysql://ipaddress:3306/database?autoReconnect=true&amp;autoReconnectForPools=true
    第二種如果使用hibernate的時候做如下配置
    1<property name="connection.autoReconnect">true</property>
    2<property name="connection.autoReconnectForPools">true</property>
    3<property name="connection.is-connection-validation-required">true</property>
    如果使用了c3p0做如下配置
    1<property name="hibernate.c3p0.acquire_increment">1</property>
    2<property name="hibernate.c3p0.idle_test_period">0</property>
    3<property name="hibernate.c3p0.timeout">0</property>
    4<property name="hibernate.c3p0.validate">true</property>
    第三種方法如下:

    大部分都是使用連接池方式時才會出現這個問題,短連接應該很難出現這個問題。這個問題的原因:

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

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

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

    1wait_timeout=31536000
    2 
    3interactive_timeout=31536000

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

    參考文檔: http://aayy520.blog.163.com/blog/static/23182260201102994534777/

    總結一下,這種問題主要是使用了連接池沒有識別出過期的鏈接,解決方案就是數據庫連接加一個autoReconnect的參數。或者使用框架的一些參數來控制。

    posted on 2014-04-28 13:32 ivaneeo 閱讀(482) 評論(0)  編輯  收藏 所屬分類: java魔力
    主站蜘蛛池模板: 亚洲国产精品久久久久网站| 亚洲黄色激情视频| 午夜性色一区二区三区免费不卡视频 | 亚洲αⅴ无码乱码在线观看性色| 在线永久免费观看黄网站| 狠狠躁狠狠爱免费视频无码| 亚洲人成依人成综合网| 四虎影院免费在线播放| 中文字幕免费视频精品一| 亚洲国产美女在线观看| 亚洲男人第一无码aⅴ网站| 最近中文字幕电影大全免费版| 亚洲AV无码专区在线观看成人| 亚洲中文字幕无码一区| 精品熟女少妇AV免费观看| 无遮挡免费一区二区三区| 亚洲日本乱码一区二区在线二产线| 免费v片视频在线观看视频| 免费看又黄又无码的网站| 黄色免费网站在线看| 亚洲综合小说久久另类区| 亚洲国产一区二区视频网站| 97在线观看永久免费视频| 成年大片免费高清在线看黄| 亚洲宅男天堂a在线| 三上悠亚亚洲一区高清| 最近最新的免费中文字幕| 野花香高清视频在线观看免费| 久久无码av亚洲精品色午夜| 亚洲欧洲免费视频| 亚洲欧洲国产成人综合在线观看| 成人影片麻豆国产影片免费观看 | 免费无码又爽又刺激一高潮| 亚洲精品无码专区久久| 久久综合亚洲鲁鲁五月天| 亚洲国产成人久久一区WWW| 免费的一级黄色片| 57pao国产成永久免费视频| 中文无码日韩欧免费视频| 羞羞视频免费网站含羞草| 亚洲国产激情在线一区|