使用DBCP連線池檢測未關閉的資料庫連線

2021-08-29 05:50:10 字數 488 閱讀 9366

我一直使用dbcp連線池,效果還不錯。

最近因為朋友的乙個j2ee應用一上連線池,很快就會報connection pool exhausted的錯誤,所以

特地研究了一下如何自動檢測未關閉的資料庫連線的技術。

研究了tomcat文件中datasource一章,發現有專門的preventing db connection pool leaks一節,

設定資料來源的removeabandoned="true",removeabandonedtimeout="60",logabandoned="true"幾個屬性就可以了。

dbcp會自動把超過timeout時間仍未關閉的連線強制關閉,並且打出異常資訊(包含開啟連線的**位置)。

但是要注意,不能依賴這種方式關閉連線,是有一定風險的,比如萬一頁面運算元據庫的時間偶爾超過了

timeout的時間,那會造成執行錯誤。

對我來說,這個方法最好的用法就是用來檢測未關閉的連線,然後修改程式,顯式的關閉連線。

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的使用

一,使用連線池dbcp,主要作用是 1,提高效能,給客戶帶來價值 2,控制併發,提公升安全性 threadlocal 二,連線池的使用步驟 導包 修改資料庫配置檔案db.propertis 重寫dbutil basicdatasourcefactory,basicdatasource db.prop...