基于JDBC的數(shù)據(jù)庫連接池技術研究與應用
3、連接池使用
上面所實現(xiàn)的連接池在程序開發(fā)時如何應用到系統(tǒng)中呢?下面以Servlet為例說明連接池的使用。
Servlet的生命周期是:在開始建立servlet時,調用其初始化(init)方法。之后每個用戶請求都導致一個調用前面建立的實例的service方法的線程。最后,當服務器決定卸載一個servlet時,它首先調用該servlet的 destroy方法。
根據(jù)servlet的特點,我們可以在初始化函數(shù)中生成連接池管理類的唯一實例(其中包括創(chuàng)建一個或多個連接池)。如:
public void init() throws ServletException
{
connMgr = DBConnectionManager.getInstance();
}
然后就可以在service方法中通過連接池名稱使用連接池,執(zhí)行數(shù)據(jù)庫操作。最后在destroy方法中釋放占用的系統(tǒng)資源,如:
public void destroy() {
connMgr.release(); super.destroy();
}
結束語
在使用JDBC進行與數(shù)據(jù)庫有關的應用開發(fā)中,數(shù)據(jù)庫連接的管理是一個難點。很多時候,連接的混亂管理所造成的系統(tǒng)資源開銷過大成為制約大型企業(yè)級應用效率的瓶頸。對于眾多用戶訪問的Web應用,采用數(shù)據(jù)庫連接技術的系統(tǒng)在效率和穩(wěn)定性上比采用傳統(tǒng)的其他方式的系統(tǒng)要好很多。本文闡述了使用JDBC訪問數(shù)據(jù)庫的技術?討論了基于連接池技術的數(shù)據(jù)庫連接管理的關鍵問題并給出了一個實現(xiàn)模型。文章所給出的是連接池管理程序的一種基本模式,為提高系統(tǒng)的整體性能,在此基礎上還可以進行很多有意義的擴展。
評論