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