程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 連接池-MySQL8小時自動斷開連接

連接池-MySQL8小時自動斷開連接

編輯:編程綜合問答
MySQL8小時自動斷開連接

最近項目中使用連接池連接MySQL數據庫, 過了8小時沒人使用之後再使用就報錯了
網上看了很多種解決方法, 但是沒有滿意答案
1. 修改mysql wait_timeout 配置
經理不讓修改mysql配置. 據說最大也就修改為27天, 也是不大完美的方案.
2. jdbc url 添加authoReconnect=true.
無效 . 據說是mysql 5.0之前才支持
3. 設置maxIdleTime小於wait_timeout
使用Fabric, 其中設置maxIdle, 結果無效
4. 啟動線程定時查詢
每隔一段時間查詢一次數據庫, 這樣做只會, 發現只有一個連接仍然可用,
連接池中的其他鏈接仍然不可用. 所以我猜想, 如果想通過這種方式完成,
就要遍歷連接池中的所有連接, 不知如何實現.
綜上, 應該如何解決這個問題?

最佳回答:


建議去查一下validationQuery和testOnBorrow兩個配置屬性,應該能解決你的問題。

validationQuery SQL查詢,用來驗證從連接池取出的連接,在將連接返回給調用者之前.如果指定,
則查詢必須是一個SQL SELECT並且必須返回至少一行記錄
testOnBorrow true 指明是否在從池中取出連接前進行檢驗,如果檢驗失敗,
則從池中去除連接並嘗試取出另一個.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved