Spring 連線池之 DBCP

2021-06-03 16:28:28 字數 1481 閱讀 5954

apache-dbcp

datasource: 要連線的 datasource (通常我們不會定義在

server.xml)

defaultautocommit: 對於事務是否 autocommit, 預設值為

true

defaultreadonly: 對於資料庫是否只能讀取, 預設值為

false

driverclassname:連線資料庫所用的

jdbc driver class,

maxactive: 可以從物件池中取出的物件最大個數,為0則表示沒有限制,預設為

8 maxidle: 最大等待連線中的數量,設 0 為沒有限制 (物件池中物件最大個數)

minidle:物件池中物件最小個數

maxwait: 最大等待秒數, 單位為 ms, 超過時間會丟出錯誤資訊

password: 登陸資料庫所用的密碼

url: 連線資料庫的

url

username: 登陸資料庫所用的帳號

validationquery: 驗證連線是否成功, sql select 指令至少要返回一行

removeabandoned: 是否自我中斷, 預設是

false

removeabandonedtimeout: 幾秒後會自我中斷, removeabandoned 必須為

true

logabandoned: 是否記錄中斷事件, 預設為

false

minevictableidletimemillis:大於0 ,進行連線空閒時間判斷,或為0,對空閒的連線不進行驗證;預設30分鐘

timebetweenevictionrunsmillis

:失效檢查執行緒執行時間間隔,如果小於等於0,不會啟動檢查執行緒,預設

-1 testonborrow:取得物件時是否進行驗證,檢查物件是否有效,預設為

false

testonreturn:返回物件時是否進行驗證,檢查物件是否有效,預設為

false

testwhileidle:空閒時是否進行驗證,檢查物件是否有效,預設為false

在使用dbcp的時候,如果使用預設值,則資料庫連線因為某種原因斷掉後,再從連線池中取得連線又不進行驗證,這時取得的連線實際上就會是無效的資料庫連線。因此為了防止獲得的資料庫連線失效,在使用的時候最好保證:

username: 登陸資料庫所用的帳號

validationquery:

select count(*) from dual

testonborrow、testonreturn、testwhileidle:最好都設為

true

minevictableidletimemillis:大於0 ,進行連線空閒時間判斷,或為0,對空閒的連線不進行驗證

timebetweenevictionrunsmillis:失效檢查執行緒執行時間間隔,如果小於等於0,不會啟動檢查執行緒

DBCP連線池使用

在資料庫應用中,資料庫連線過程需要較長的時間。而且,頻繁的連線資料庫會增加資料庫系統的壓力。所以,最好在專案中使用資料庫連線池來減少資料庫連線的數量提高資料庫訪問效率。dbcp是apache的乙個開源專案 關閉語句物件 關閉結果集 param con param s param rs public ...

使用dbcp 連線池

dbcp database connection pool 單獨使用dbcp需要3個包 common dbcp.jar,common pool.jar,common collections.jar 文件以及示例的 左下方列表裡面有example的鏈結 幾個屬性的說明 setinitialsize 設...

DBCP連線池配置

連線池中的maxidle,maxactive,maxwait引數 maxidle 是最大的空閒連線數,這裡取值為20,表示即使沒有資料庫連線時依然可以保持20空閒的 設為0表示無限制。maxactive,連線池的最大資料庫連線數。設為0表示無限制。maxwait 最大建立連線等待時間。如果超過此時間...