DBCP連接池配置常用參數說明


參數 默認值 說明
username \ 傳遞給JDBC驅動的用於建立連接的用戶名
password \ 傳遞給JDBC驅動的用於建立連接的密碼
url \ 傳遞給JDBC驅動的用於建立連接的URL
driverClassName \ 使用的JDBC驅動的完整有效的Java 類名
initialSize   0 初始化連接:連接池啟動時創建的初始化連接數量,1.2版本后支持
maxActive 8 最大活動連接:連接池在同一時間能夠分配的最大活動連接的數量, 如果設置為非正數則表示不限制
maxIdle   8 最大空閑連接:連接池中容許保持空閑狀態的最大連接數量,超過的空閑連接將被釋放,
如果設置為負數表示不限制
minIdle   0 最小空閑連接:連接池中容許保持空閑狀態的最小連接數量,低於這個數量將創建新的連接,
如果設置為0則不創建
maxWait   無限   最大等待時間:當沒有可用連接時,連接池等待連接被歸還的最大時間(以毫秒計數)超過時間則拋出異常,如果設置為-1表示無限等待
testOnReturn   false  是否在歸還到池中前進行檢驗
testWhileIdle   false  連接是否被空閑連接回收器(如果有)進行檢驗.如果檢測失敗,
則連接將被從池中去除.設置為true后如果要生效,validationQuery參數必須設置為非空字符串
minEvictableIdleTimeMillis   1000 * 60 * 30 連接在池中保持空閑而不被空閑連接回收器線程
(如果有)回收的最小時間值,單位毫秒
numTestsPerEvictionRun  3 在每次空閑連接回收器線程(如果有)運行時檢查的連接數量
timeBetweenEvictionRunsMillis  -1 在空閑連接回收器線程運行期間休眠的時間值,以毫秒為單位.
 如果設置為非正數,則不運行空閑連接回收器線程
validationQuery    null SQL查詢,用來驗證從連接池取出的連接,在將連接返回給調用者之前.如果指定,
則查詢必須是一個SQL SELECT並且必須返回至少一行記錄
testOnBorrow  true

是否在從池中取出連接前進行檢驗,如果檢驗失敗,
則從池中去除連接並嘗試取出另一個.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

   DBCP連接池的自我檢測

默認配置的連接池,是不對池中的鏈接做測試的,有時已經斷開,但連接池不知道,這樣從池里取出來的這樣的連接訪問數據庫就會報錯。

解決方案:1.定時對連接做測試,測試失敗就關閉連接。

              2.控制鏈接的空閑時間達到N分鍾,就關閉連接(然后可再新建連接)

              3.也可以混合使用兩個方案:

                 。validationQuery(測試連接的sql語句) : validationQuery= "SELECT 1"

      。testWhileIdle (連接是否被空閑連接回收器(如果有)進行檢驗.如果檢測失敗,則連接將被從池中去除) : testWhileIdle  = "true"

                 。testOnBorrow = "false"   借出連接時不要測試,否則很影響性能,性能會下降7-10倍

      。timeBetweenEvictionRunsMillis (每30秒運行一次空閑連接回收器(獨立線程)。並每次檢查3個連接,

                    如果連接空閑時間超過30分鍾就銷毀。銷毀連接后,連接數量就少了,如果小於minIdle數量,就新建連接,維護數量不少於minIdle)

                    timeBetweenEvictionRunsMillis = "30000"  

                 。minEvictableIdleTimeMillis(池中的連接空閑x毫秒后被回收,默認30分鍾):minEvictableIdleTimeMillis = "1800000"

                 。numTestsPerEvictionRun(在每次空閑連接回收器線程(如果有)運行時檢查的連接數量,默認值就是3.) : numTestsPerEvictionRun ="3" 

 

官方文檔


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM