<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 閱讀(478) 評論(0)  編輯  收藏 所屬分類: java魔力
    主站蜘蛛池模板: 亚洲精品午夜在线观看| 日本免费人成黄页在线观看视频| 亚洲精品成人在线| 国产精品国产亚洲区艳妇糸列短篇 | 一级特级女人18毛片免费视频| 日本一道高清不卡免费| 亚洲国产精品ⅴa在线观看| 大学生a级毛片免费观看 | 亚洲激情视频网站| 国产精品色拉拉免费看| 亚洲一级免费视频| 日韩免费观看一级毛片看看| 色噜噜噜噜亚洲第一| AV在线播放日韩亚洲欧| 两个人看www免费视频| 亚洲天天做日日做天天欢毛片| 91免费国产自产地址入| 2020天堂在线亚洲精品专区| 四虎免费影院4hu永久免费| 一个人免费观看www视频| 亚洲成A人片在线观看无码不卡| 99爱在线精品视频免费观看9| 久久精品国产亚洲av麻豆图片 | 国产福利在线免费| 边摸边脱吃奶边高潮视频免费| 亚洲日韩国产成网在线观看| 久9热免费精品视频在线观看| 亚洲1区1区3区4区产品乱码芒果| 国产福利免费在线观看| 两个人www免费高清视频| 亚洲精品美女久久久久| 免费观看午夜在线欧差毛片| 国产一二三四区乱码免费| 亚洲狠狠狠一区二区三区| 日本黄色免费观看| 日本黄色动图免费在线观看| 国产精品亚洲片在线va| 老司机亚洲精品影视www| 日韩av无码成人无码免费| 精品国产呦系列在线观看免费 | 免费看男人j放进女人j免费看|