JavaEE應(yīng)用服務(wù)器與數(shù)據(jù)庫建立連接的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及JavaEE,并且尤其涉及JavaEE應(yīng)用服務(wù)器與數(shù)據(jù)庫建立連接的方法和裝置。
【背景技術(shù)】
[0002]通常,當(dāng)JavaEE應(yīng)用服務(wù)器被啟動(dòng)時(shí),其將主動(dòng)發(fā)起到遠(yuǎn)端數(shù)據(jù)庫的連接,并將連接成功的連接對(duì)象緩存在內(nèi)嵌在應(yīng)用服務(wù)器的連接池中。
[0003]出于對(duì)安全的考慮,數(shù)據(jù)庫的密碼可能會(huì)被不定期地修改。現(xiàn)有技術(shù)中,當(dāng)JavaEE應(yīng)用服務(wù)器被啟動(dòng)時(shí),將使用配置文件中的數(shù)據(jù)庫密碼。如果此時(shí)數(shù)據(jù)庫密碼已經(jīng)被修改,則在創(chuàng)建新的數(shù)據(jù)庫連接時(shí)拋出異常。在這種情況下,將需要重新啟動(dòng)應(yīng)用服務(wù)器,這將不可避免地影響業(yè)務(wù)的正常運(yùn)行;而且當(dāng)Web應(yīng)用部署數(shù)量較大時(shí),可能遺漏對(duì)部分應(yīng)用服務(wù)器的重啟,增加人工出錯(cuò)的概率。
[0004]因此,需要一種方案來提高系統(tǒng)運(yùn)行的效率和穩(wěn)定性。
【發(fā)明內(nèi)容】
[0005]根據(jù)本發(fā)明的一個(gè)或多個(gè)目的,公開以下技術(shù)方案:
JavaEE應(yīng)用服務(wù)器與數(shù)據(jù)庫建立連接的方法,包括:
設(shè)置數(shù)據(jù)庫密碼服務(wù)器,其存儲(chǔ)數(shù)據(jù)庫名稱與相應(yīng)的密碼,
配置JavaEE應(yīng)用服務(wù)器中的數(shù)據(jù)源DataSource,使得數(shù)據(jù)源能夠與所述數(shù)據(jù)庫密碼服務(wù)器通信并且獲取數(shù)據(jù)庫密碼,以及使用該數(shù)據(jù)庫密碼建立與該數(shù)據(jù)庫的連接。
[0006]可選地,所述數(shù)據(jù)源被配置為:
響應(yīng)于使用配置文件中的數(shù)據(jù)庫密碼與數(shù)據(jù)庫建立連接失敗,向所述數(shù)據(jù)庫密碼服務(wù)器發(fā)送報(bào)文,通過查詢存儲(chǔ)在其中的數(shù)據(jù)庫密碼來獲取最新的數(shù)據(jù)庫密碼,以及將該最新的數(shù)據(jù)庫密碼持久化到所述配置文件中。
[0007]JavaEE應(yīng)用服務(wù)器與數(shù)據(jù)庫建立連接的方法,包括:
JavaEE應(yīng)用服務(wù)器啟動(dòng)時(shí),使用配置文件中的數(shù)據(jù)庫密碼嘗試建立到數(shù)據(jù)庫的連接,當(dāng)所述嘗試失敗時(shí),向數(shù)據(jù)庫密碼服務(wù)器發(fā)送報(bào)文以請(qǐng)求最新的數(shù)據(jù)庫密碼,所述數(shù)據(jù)庫密碼服務(wù)器存儲(chǔ)數(shù)據(jù)庫名稱與相應(yīng)的密碼,
利用該最新的數(shù)據(jù)庫密碼建立與該數(shù)據(jù)庫的連接。
[0008]用于使JavaEE應(yīng)用服務(wù)器與數(shù)據(jù)庫建立連接的裝置,包括:
JavaEE應(yīng)用服務(wù)器啟動(dòng)時(shí),使用配置文件中的數(shù)據(jù)庫密碼嘗試建立到數(shù)據(jù)庫的連接的裝置,
當(dāng)所述嘗試失敗時(shí),向數(shù)據(jù)庫密碼服務(wù)器發(fā)送報(bào)文以請(qǐng)求最新的數(shù)據(jù)庫密碼,所述數(shù)據(jù)庫密碼服務(wù)器存儲(chǔ)數(shù)據(jù)庫名稱與相應(yīng)的密碼的裝置,
利用該最新的數(shù)據(jù)庫密碼建立與該數(shù)據(jù)庫的連接的裝置。
[0009]—種JavaEE應(yīng)用服務(wù)器,包括如上所述的用于使JavaEE應(yīng)用服務(wù)器與數(shù)據(jù)庫建立連接的裝置。
[0010]本發(fā)明通過改進(jìn)JavaEE應(yīng)用服務(wù)器使其能夠規(guī)避由于數(shù)據(jù)庫密碼修改而造成異常的情況,提高了系統(tǒng)運(yùn)行的效率和穩(wěn)定性。本發(fā)明對(duì)于對(duì)部署在JavaEE應(yīng)用服務(wù)器上的Web業(yè)務(wù)系統(tǒng)透明,能夠避免由運(yùn)維人員手工重啟應(yīng)用服務(wù)器。
【附圖說明】
[0011]在參照附圖閱讀了本發(fā)明的【具體實(shí)施方式】以后,本領(lǐng)域技術(shù)人員將會(huì)更清楚地了解本發(fā)明的各個(gè)方面。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解的是,這些附圖僅僅用于配合【具體實(shí)施方式】說明本發(fā)明的技術(shù)方案,而并非意在對(duì)本發(fā)明的保護(hù)范圍構(gòu)成限制。
[0012]圖1示出了根據(jù)本發(fā)明來避免重啟應(yīng)用服務(wù)器的場景。
[0013]圖2是根據(jù)本發(fā)明實(shí)施例的JavaEE應(yīng)用服務(wù)器與數(shù)據(jù)庫建立連接的方法示意圖。
[0014]圖3是根據(jù)本發(fā)明另一實(shí)施例的JavaEE應(yīng)用服務(wù)器與數(shù)據(jù)庫建立連接的方法示意圖。
【具體實(shí)施方式】
[0015]圖1示出了根據(jù)本發(fā)明來避免重啟應(yīng)用服務(wù)器的場景。按照?qǐng)D中數(shù)字標(biāo)記所示的順序,數(shù)據(jù)庫密碼被修改之后,當(dāng)用戶請(qǐng)求訪問數(shù)據(jù)庫時(shí),應(yīng)用服務(wù)器由于使用配置文件中的未更新的數(shù)據(jù)庫密碼導(dǎo)致創(chuàng)建數(shù)據(jù)庫連接失敗。此時(shí),應(yīng)用服務(wù)器將向數(shù)據(jù)庫密碼服務(wù)器請(qǐng)求更新的數(shù)據(jù)庫密碼,數(shù)據(jù)庫密碼服務(wù)器在返回更新的數(shù)據(jù)庫密碼之后應(yīng)用服務(wù)器將使用該更新的數(shù)據(jù)庫密碼建立到數(shù)據(jù)庫的連接,并且將連接存入連接池中,從而用戶將能夠使用連接池中的成功建立的連接訪問數(shù)據(jù)庫。
[0016]圖2是根據(jù)本發(fā)明實(shí)施例的JavaEE應(yīng)用服務(wù)器與數(shù)據(jù)庫建立連接的方法示意圖。
[0017]在201中,設(shè)置數(shù)據(jù)庫密碼服務(wù)器,其存儲(chǔ)數(shù)據(jù)庫名稱與相應(yīng)的密碼,數(shù)據(jù)庫密碼服務(wù)器用于存儲(chǔ)最新的密碼,因此當(dāng)數(shù)據(jù)庫密碼發(fā)生變更時(shí),將同步更新數(shù)據(jù)庫密碼服務(wù)器中的相應(yīng)的數(shù)據(jù)庫密碼,
在202中,配置JavaEE應(yīng)用服務(wù)器中的數(shù)據(jù)源DataSource,使得數(shù)據(jù)源能夠與所述數(shù)據(jù)庫密碼服務(wù)器通信并且獲取數(shù)據(jù)庫密碼,
在203中,使用該數(shù)據(jù)庫密碼建立與該數(shù)據(jù)庫的連接。
[0018]在一個(gè)示例中,所述數(shù)據(jù)源被配置為:響應(yīng)于使用配置文件中的數(shù)據(jù)庫密碼與數(shù)據(jù)庫建立連接失敗,向所述數(shù)據(jù)庫密碼服務(wù)器發(fā)送報(bào)文,通過查詢存儲(chǔ)在其中的數(shù)據(jù)庫密碼來獲取最新的數(shù)據(jù)庫密碼,以及將該最新的數(shù)據(jù)庫密碼持久化到所述配置文件中。
[0019]圖3是根據(jù)本發(fā)明另一實(shí)施例的JavaEE應(yīng)用服務(wù)器與數(shù)據(jù)庫建立連接的方法示意圖。
[0020]在301中,JavaEE應(yīng)用服務(wù)器啟動(dòng)時(shí),使用配置文件中的數(shù)據(jù)庫密碼嘗試建立到數(shù)據(jù)庫的連接,
在302中,當(dāng)所述嘗試失敗時(shí),向數(shù)據(jù)庫密碼服務(wù)器發(fā)送報(bào)文以請(qǐng)求最新的數(shù)據(jù)庫密碼,所述數(shù)據(jù)庫密碼服務(wù)器存儲(chǔ)數(shù)據(jù)庫名稱與相應(yīng)的密碼,
在303中,利用該最新的數(shù)據(jù)庫密碼建立與該數(shù)據(jù)庫的連接。
[0021]與圖3中的方法相對(duì)應(yīng),本發(fā)明還公開用于使JavaEE應(yīng)用服務(wù)器與數(shù)據(jù)庫建立連接的裝置,其包括:
JavaEE應(yīng)用服務(wù)器啟動(dòng)時(shí),使用配置文件中的數(shù)據(jù)庫密碼嘗試建立到數(shù)據(jù)庫的連接的裝置,
當(dāng)所述嘗試失敗時(shí),向數(shù)據(jù)庫密碼服務(wù)器發(fā)送報(bào)文以請(qǐng)求最新的數(shù)據(jù)庫密碼,所述數(shù)據(jù)庫密碼服務(wù)器存儲(chǔ)數(shù)據(jù)庫名稱與相應(yīng)的密碼的裝置,
利用該最新的數(shù)據(jù)庫密碼建立與該數(shù)據(jù)庫的連接的裝置。
[0022]通過以上實(shí)施方式的描述,本領(lǐng)域中的普通技術(shù)人員能夠理解,在不偏離本發(fā)明的精神和范圍的情況下,還可以對(duì)本發(fā)明的【具體實(shí)施方式】作各種變更和替換。這些變更和替換都落在本發(fā)明權(quán)利要求書所限定的范圍內(nèi)。
【主權(quán)項(xiàng)】
1.JavaEE應(yīng)用服務(wù)器與數(shù)據(jù)庫建立連接的方法,其特征在于,包括: 設(shè)置數(shù)據(jù)庫密碼服務(wù)器,其存儲(chǔ)數(shù)據(jù)庫名稱與相應(yīng)的密碼, 配置JavaEE應(yīng)用服務(wù)器中的數(shù)據(jù)源DataSource,使得數(shù)據(jù)源能夠與所述數(shù)據(jù)庫密碼服務(wù)器通信并且獲取數(shù)據(jù)庫密碼,以及 使用該數(shù)據(jù)庫密碼建立與該數(shù)據(jù)庫的連接。2.如權(quán)利要求1所述的方法,其特征在于, 所述數(shù)據(jù)源被配置為: 響應(yīng)于使用配置文件中的數(shù)據(jù)庫密碼與數(shù)據(jù)庫建立連接失敗,向所述數(shù)據(jù)庫密碼服務(wù)器發(fā)送報(bào)文,通過查詢存儲(chǔ)在其中的數(shù)據(jù)庫密碼來獲取最新的數(shù)據(jù)庫密碼,以及將該最新的數(shù)據(jù)庫密碼持久化到所述配置文件中。3.JavaEE應(yīng)用服務(wù)器與數(shù)據(jù)庫建立連接的方法,其特征在于,包括: JavaEE應(yīng)用服務(wù)器啟動(dòng)時(shí),使用配置文件中的數(shù)據(jù)庫密碼嘗試建立到數(shù)據(jù)庫的連接,當(dāng)所述嘗試失敗時(shí),向數(shù)據(jù)庫密碼服務(wù)器發(fā)送報(bào)文以請(qǐng)求最新的數(shù)據(jù)庫密碼,所述數(shù)據(jù)庫密碼服務(wù)器存儲(chǔ)數(shù)據(jù)庫名稱與相應(yīng)的密碼, 利用該最新的數(shù)據(jù)庫密碼建立與該數(shù)據(jù)庫的連接。4.用于使JavaEE應(yīng)用服務(wù)器與數(shù)據(jù)庫建立連接的裝置,其特征在于,包括: JavaEE應(yīng)用服務(wù)器啟動(dòng)時(shí),使用配置文件中的數(shù)據(jù)庫密碼嘗試建立到數(shù)據(jù)庫的連接的裝置, 當(dāng)所述嘗試失敗時(shí),向數(shù)據(jù)庫密碼服務(wù)器發(fā)送報(bào)文以請(qǐng)求最新的數(shù)據(jù)庫密碼,所述數(shù)據(jù)庫密碼服務(wù)器存儲(chǔ)數(shù)據(jù)庫名稱與相應(yīng)的密碼的裝置, 利用該最新的數(shù)據(jù)庫密碼建立與該數(shù)據(jù)庫的連接的裝置。5.—種JavaEE應(yīng)用服務(wù)器,其特征在于,包括如權(quán)利要求4所述的用于使JavaEE應(yīng)用服務(wù)器與數(shù)據(jù)庫建立連接的裝置。
【專利摘要】本發(fā)明公開JavaEE應(yīng)用服務(wù)器與數(shù)據(jù)庫建立連接的方法,包括:設(shè)置數(shù)據(jù)庫密碼服務(wù)器,其存儲(chǔ)數(shù)據(jù)庫名稱與相應(yīng)的密碼,配置JavaEE應(yīng)用服務(wù)器中的數(shù)據(jù)源DataSource,使得數(shù)據(jù)源能夠與所述數(shù)據(jù)庫密碼服務(wù)器通信并且獲取數(shù)據(jù)庫密碼,以及使用該數(shù)據(jù)庫密碼建立與該數(shù)據(jù)庫的連接。
【IPC分類】G06F17/30, G06F21/50
【公開號(hào)】CN105279197
【申請(qǐng)?zhí)枴緾N201410353647
【發(fā)明人】周亞國, 陳斌, 周繼恩
【申請(qǐng)人】中國銀聯(lián)股份有限公司
【公開日】2016年1月27日
【申請(qǐng)日】2014年7月24日