本發(fā)明涉及應(yīng)用服務(wù)器基礎(chǔ)框架配置技術(shù)領(lǐng)域,特別涉及一種應(yīng)用服務(wù)器基礎(chǔ)框架的配置方法及其系統(tǒng)。
背景技術(shù):
目前,對(duì)于運(yùn)行某些應(yīng)用的容器來說,啟動(dòng)的時(shí)候需要啟動(dòng)大量的服務(wù)進(jìn)程和線程,實(shí)例化大量的服務(wù)實(shí)例對(duì)象,初始化過程非常復(fù)雜,整個(gè)啟動(dòng)過程需要依賴大量其他的服務(wù),手動(dòng)實(shí)例化這些對(duì)象會(huì)導(dǎo)致容器的擴(kuò)展性比較差,很難根據(jù)用戶需要進(jìn)行改進(jìn),而啟動(dòng)過程的繁雜就是因?yàn)閷?duì)容器的配置的服務(wù)的方法過于繁雜。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是提供一種應(yīng)用服務(wù)器基礎(chǔ)框架的配置方法及其系統(tǒng),通過定制和優(yōu)化對(duì)應(yīng)用服務(wù)器基礎(chǔ)框架的配置的服務(wù)方法達(dá)到優(yōu)化容器的啟動(dòng)過程,實(shí)現(xiàn)系統(tǒng)可定制、可擴(kuò)展,增強(qiáng)基礎(chǔ)框架的通用性。
本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:一種應(yīng)用服務(wù)器基礎(chǔ)框架的配置方法,包括以下步驟:
步驟1、將應(yīng)用服務(wù)器基礎(chǔ)框架類加載到內(nèi)存中,實(shí)例化所述應(yīng)用服務(wù)器基礎(chǔ)框架類,得到應(yīng)用服務(wù)器基礎(chǔ)框架對(duì)象;
步驟2、通過所述應(yīng)用服務(wù)器基礎(chǔ)框架對(duì)象獲取xml配置文件,根據(jù)所述xml配置文件得到服務(wù)類配置列表和包括鍵值對(duì)的條目屬性表;
步驟3、通過所述服務(wù)類配置列表和條目屬性表對(duì)應(yīng)用服務(wù)器基礎(chǔ)框架進(jìn)行配置,得到多個(gè)服務(wù)類;
步驟4、通過每一個(gè)所述服務(wù)類配置的初始化方法初始化一個(gè)主服務(wù)對(duì)象和多個(gè)次服務(wù)對(duì)象組成一個(gè)服務(wù)對(duì)象,完成對(duì)所有服務(wù)類的服務(wù)對(duì)象的初始化,得到所有服務(wù)對(duì)象。
本發(fā)明的有益效果是:本發(fā)明通過在加載應(yīng)用服務(wù)器基礎(chǔ)框架后,通過應(yīng)用服務(wù)器基礎(chǔ)框架獲取配置文件,通過配置文件對(duì)應(yīng)用服務(wù)器基礎(chǔ)框架進(jìn)行配置,完成對(duì)應(yīng)用服務(wù)器基礎(chǔ)框架的各項(xiàng)服務(wù)的初始化,避免了現(xiàn)有技術(shù)中在加載應(yīng)用服務(wù)器基礎(chǔ)框架進(jìn)行對(duì)象加載時(shí)需要通過代碼實(shí)例化對(duì)象及相應(yīng)的對(duì)應(yīng)關(guān)系通過代碼設(shè)定、達(dá)到設(shè)計(jì)的通用性和系統(tǒng)可擴(kuò)展性。
在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。
進(jìn)一步,所述xml配置文件包括:服務(wù)器類配置信息、socket連接處理類配置信息、消息服務(wù)類配置信息、日志服務(wù)類配置信息、數(shù)據(jù)庫(kù)服務(wù)類配置信息、郵件服務(wù)類配置信息和視圖信息類配置信息。
采用上述進(jìn)一步方案的有益效果是:根據(jù)需要配置的類的不同,對(duì)不同的信息進(jìn)行劃分,方便系統(tǒng)解析xml配置文件得到數(shù)據(jù)信息。
進(jìn)一步,所述視圖信息類配置信息包括:視圖顯示類配置信息、視圖數(shù)據(jù)模型類配置信息和視圖會(huì)話控制器類配置信息;所述視圖顯示類配置信息包括:視圖描述信息、視圖屬性信息和視圖模型類路徑配置信息;所述視圖數(shù)據(jù)模型配置信息包括:視圖初始化參數(shù)信息、推送模型關(guān)聯(lián)視圖名、推送模型關(guān)聯(lián)視圖id和推送模型關(guān)聯(lián)的視圖會(huì)話控制器方法;所述視圖會(huì)話控制器類配置信息包括:視圖會(huì)話控制器方法。
采用上述進(jìn)一步方案的有益效果是:根據(jù)視圖信息類配置信息中視圖顯示類配置信息、視圖數(shù)據(jù)模型類配置信息和視圖會(huì)話控制器類配置信息之間的關(guān)系對(duì)配置信息進(jìn)行劃分,提高三個(gè)類之間的數(shù)據(jù)和指令的傳輸效率,降低系統(tǒng)的耦合度,提高可擴(kuò)展性。
進(jìn)一步,所述步驟3包括:
步驟31、通過所述服務(wù)類配置列表判斷需要配置的服務(wù)類的主服務(wù)對(duì)象和次服務(wù)對(duì)象的數(shù)量和服務(wù)方法;所述條目屬性表包括:配置信息和與配置信息相對(duì)應(yīng)的條目關(guān)鍵字,所述條目關(guān)鍵字與所述服務(wù)類配置列表中的信息相對(duì)應(yīng);
步驟32、通過所述服務(wù)類配置列表和條目屬性表對(duì)應(yīng)用服務(wù)器基礎(chǔ)框架對(duì)象中各個(gè)服務(wù)類的服務(wù)id、服務(wù)類名稱、服務(wù)類別名、構(gòu)造方法、初始化方法、啟動(dòng)方法、工廠方法、屬性方法和關(guān)閉方法進(jìn)行配置,得到多個(gè)服務(wù)類;根據(jù)所述服務(wù)類的主服務(wù)對(duì)象和次服務(wù)對(duì)象的數(shù)量和服務(wù)方法,對(duì)應(yīng)的為每一個(gè)服務(wù)類配置至少一個(gè)主服務(wù)對(duì)象初始化方法和多個(gè)次服務(wù)對(duì)象初始化方法。
采用上述進(jìn)一步方案的有益效果是:通過解析xml配置文件,將配置文件中信息制作成服務(wù)類配置列表和條目屬性表,通過服務(wù)類配置列表和條目屬性表之間的關(guān)系提高系統(tǒng)進(jìn)行服務(wù)類配置的效率,避免數(shù)據(jù)的丟失。
進(jìn)一步,所述步驟4包括:每一個(gè)所述服務(wù)類配置有一個(gè)主服務(wù)對(duì)象初始化方法和多個(gè)次服務(wù)對(duì)象初始化方法,通過所述主服務(wù)對(duì)象初始化方法初始化一個(gè)主服務(wù)對(duì)象和所述多個(gè)次服務(wù)對(duì)象初始化方法初始化多個(gè)次服務(wù)對(duì)象組成一個(gè)服務(wù)對(duì)象,根據(jù)所有服務(wù)類的主服務(wù)對(duì)象初始化方法和多個(gè)次服務(wù)對(duì)象初始化方法進(jìn)行初始化得到所有主服務(wù)對(duì)象和相對(duì)應(yīng)的次服務(wù)對(duì)象,進(jìn)而得到所有服務(wù)對(duì)象。
采用上述進(jìn)一步方案的有益效果是:通過配置文件對(duì)每一個(gè)服務(wù)類配置一個(gè)主服務(wù)對(duì)象初始化方法和多個(gè)此服務(wù)對(duì)象初始化方法,通過初始化一個(gè)主服務(wù)對(duì)象和多個(gè)次服務(wù)對(duì)象組成一個(gè)服務(wù)對(duì)象,降低服務(wù)對(duì)象中各個(gè)功能的耦合性,提高系統(tǒng)的可擴(kuò)展性。
本發(fā)明還提供了實(shí)現(xiàn)上述方法的一種應(yīng)用服務(wù)器基礎(chǔ)框架的配置系統(tǒng),包括:應(yīng)用服務(wù)器基礎(chǔ)框架實(shí)例化模塊、配置信息獲取模塊、服務(wù)類配置模塊和服務(wù)對(duì)象初始化模塊;
所述應(yīng)用服務(wù)器基礎(chǔ)框架實(shí)例化模塊,用于將應(yīng)用服務(wù)器基礎(chǔ)框架類加載到內(nèi)存中,實(shí)例化所述應(yīng)用服務(wù)器基礎(chǔ)框架類,得到應(yīng)用服務(wù)器基礎(chǔ)框架對(duì)象;
所述配置信息獲取模塊,用于通過所述應(yīng)用服務(wù)器基礎(chǔ)框架對(duì)象獲取xml配置文件,根據(jù)所述xml配置文件得到服務(wù)類配置列表和包括鍵值對(duì)的條目屬性表;
所述服務(wù)類配置模塊,用于通過所述服務(wù)類配置列表和條目屬性表對(duì)應(yīng)用服務(wù)器基礎(chǔ)框架進(jìn)行配置,得到多個(gè)服務(wù)類;
所述服務(wù)對(duì)象初始化模塊,用于通過每一個(gè)所述服務(wù)類配置的初始化方法初始化一個(gè)主服務(wù)對(duì)象和多個(gè)次服務(wù)對(duì)象組成一個(gè)服務(wù)對(duì)象,完成對(duì)所有服務(wù)類的服務(wù)對(duì)象的初始化,得到所有服務(wù)對(duì)象。
進(jìn)一步,所述配置信息獲取模塊還包括xml數(shù)據(jù)解析單元,具體用于對(duì)通過所述應(yīng)用服務(wù)器基礎(chǔ)框架對(duì)象獲取的xml配置文件進(jìn)行解析,得到服務(wù)器類配置信息、socket連接處理類配置信息、消息服務(wù)類配置信息、日志服務(wù)類配置信息、數(shù)據(jù)庫(kù)服務(wù)類配置信息、郵件服務(wù)類配置信息和視圖信息類配置信息。
進(jìn)一步,所述服務(wù)類配置模塊,具體用于通過視圖信息類配置信息中的視圖顯示類配置信息配置視圖顯示類,所述視圖顯示類配置信息包括:視圖描述信息、視圖屬性信息和視圖模型類路徑配置信息;通過視圖信息類配置信息中的視圖數(shù)據(jù)模型類配置信息配置視圖數(shù)據(jù)模型類,所述視圖數(shù)據(jù)模型類配置信息包括:視圖初始化參數(shù)信息、推送模型關(guān)聯(lián)視圖名、推送模型關(guān)聯(lián)視圖id和推送模型關(guān)聯(lián)的視圖會(huì)話控制器方法;通過視圖信息類配置信息中的視圖會(huì)話控制器類配置信息配置視圖會(huì)話控制器類,視圖會(huì)話控制器類配置信息包括:視圖會(huì)話控制器方法。
進(jìn)一步,所述服務(wù)類配置模塊,具體用于通過所述服務(wù)類配置列表判斷需要配置的服務(wù)類的主服務(wù)對(duì)象和次服務(wù)對(duì)象的數(shù)量和服務(wù)方法;通過所述服務(wù)類配置列表和條目屬性表對(duì)應(yīng)用服務(wù)器基礎(chǔ)框架對(duì)象中各個(gè)服務(wù)類的服務(wù)id、服務(wù)類名稱、服務(wù)類別名、構(gòu)造方法、初始化方法、啟動(dòng)方法、工廠方法、屬性方法和關(guān)閉方法進(jìn)行配置,得到多個(gè)服務(wù)類;所述條目屬性表包括:配置信息和與配置信息相對(duì)應(yīng)的條目關(guān)鍵字,所述條目關(guān)鍵字與所述服務(wù)類配置列表中的信息相對(duì)應(yīng);根據(jù)所述服務(wù)類的主服務(wù)對(duì)象和次服務(wù)對(duì)象的數(shù)量和服務(wù)方法,對(duì)應(yīng)的為每一個(gè)服務(wù)類配置至少一個(gè)主服務(wù)對(duì)象初始化方法和多個(gè)次服務(wù)對(duì)象初始化方法。
進(jìn)一步,所述服務(wù)對(duì)象初始化模塊,具體用于通過所述主服務(wù)對(duì)象初始化方法初始化一個(gè)主服務(wù)對(duì)象和所述多個(gè)次服務(wù)對(duì)象初始化方法初始化多個(gè)次服務(wù)對(duì)象組成一個(gè)服務(wù)對(duì)象,根據(jù)所有服務(wù)類的主服務(wù)對(duì)象初始化方法和多個(gè)次服務(wù)對(duì)象初始化方法進(jìn)行初始化得到所有主服務(wù)對(duì)象和相對(duì)應(yīng)的次服務(wù)對(duì)象,進(jìn)而得到所有服務(wù)對(duì)象。
附圖說明
圖1為本發(fā)明實(shí)施例提供的一種應(yīng)用服務(wù)器基礎(chǔ)框架的配置方法流程示意圖;
圖2為本發(fā)明實(shí)施例提供的一種應(yīng)用服務(wù)器基礎(chǔ)框架的配置系統(tǒng)結(jié)構(gòu)示意圖;
圖3為本發(fā)明另一種實(shí)施例提供的一種應(yīng)用服務(wù)器基礎(chǔ)框架的配置方法流程示意圖。
具體實(shí)施方式
以下結(jié)合附圖對(duì)本發(fā)明的原理和特征進(jìn)行描述,所舉實(shí)例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。
如圖1所示,一種應(yīng)用服務(wù)器基礎(chǔ)框架的配置方法,包括以下步驟:
步驟1、將應(yīng)用服務(wù)器基礎(chǔ)框架類加載到內(nèi)存中,實(shí)例化應(yīng)用服務(wù)器基礎(chǔ)框架類,得到應(yīng)用服務(wù)器基礎(chǔ)框架對(duì)象;
步驟2、通過應(yīng)用服務(wù)器基礎(chǔ)框架對(duì)象獲取xml配置文件,根據(jù)xml配置文件得到服務(wù)類配置列表和包括鍵值對(duì)的條目屬性表;
步驟3、通過服務(wù)類配置列表和條目屬性表對(duì)應(yīng)用服務(wù)器基礎(chǔ)框架進(jìn)行配置,得到多個(gè)服務(wù)類;
步驟4、通過每一個(gè)服務(wù)類配置的初始化方法初始化一個(gè)主服務(wù)對(duì)象和多個(gè)次服務(wù)對(duì)象組成一個(gè)服務(wù)對(duì)象,完成對(duì)所有服務(wù)類的服務(wù)對(duì)象的初始化,得到所有服務(wù)對(duì)象。
上述實(shí)施例中,在內(nèi)存中直接加載應(yīng)用服務(wù)器基礎(chǔ)框架類,并對(duì)應(yīng)用服務(wù)器基礎(chǔ)框架類進(jìn)行初始化得到應(yīng)用服務(wù)器基礎(chǔ)框架對(duì)象,通過應(yīng)用服務(wù)器基礎(chǔ)框架對(duì)象獲取xml配置文件,并解析xml配置文件得到相關(guān)的服務(wù)類配置列表和條目屬性表,通過服務(wù)類配置列表和條目屬性表對(duì)應(yīng)用服務(wù)器基礎(chǔ)框架進(jìn)行配置,在應(yīng)用服務(wù)器基礎(chǔ)框架中配置各個(gè)服務(wù)類,減少了在內(nèi)存中存儲(chǔ)應(yīng)用服務(wù)器基礎(chǔ)框架各個(gè)服務(wù)類的配置信息,占用內(nèi)存的情況,加快了系統(tǒng)初始化完整的應(yīng)用服務(wù)器基礎(chǔ)框架的速率,對(duì)每一個(gè)服務(wù)類中服務(wù)對(duì)象的重要程度配置多個(gè)服務(wù)對(duì)象初始化方法,將每個(gè)服務(wù)對(duì)象的初始化過程區(qū)分開,降低服務(wù)類中各個(gè)服務(wù)對(duì)象的耦合度,提高系統(tǒng)的可擴(kuò)展性。
如圖2所示,本發(fā)明還提供了實(shí)現(xiàn)上述方法的一種應(yīng)用服務(wù)器基礎(chǔ)框架的配置系統(tǒng),包括:應(yīng)用服務(wù)器基礎(chǔ)框架實(shí)例化模塊、配置信息獲取模塊、服務(wù)類配置模塊和服務(wù)對(duì)象初始化模塊;
應(yīng)用服務(wù)器基礎(chǔ)框架實(shí)例化模塊,用于將應(yīng)用服務(wù)器基礎(chǔ)框架類加載到內(nèi)存中,實(shí)例化應(yīng)用服務(wù)器基礎(chǔ)框架類,得到應(yīng)用服務(wù)器基礎(chǔ)框架對(duì)象;
配置信息獲取模塊,用于通過應(yīng)用服務(wù)器基礎(chǔ)框架對(duì)象獲取xml配置文件,根據(jù)xml配置文件得到服務(wù)類配置列表和包括鍵值對(duì)的條目屬性表;
服務(wù)類配置模塊,用于通過服務(wù)類配置列表和條目屬性表對(duì)應(yīng)用服務(wù)器基礎(chǔ)框架進(jìn)行配置,得到多個(gè)服務(wù)類;
服務(wù)對(duì)象初始化模塊,用于通過每一個(gè)服務(wù)類配置的初始化方法初始化一個(gè)主服務(wù)對(duì)象和多個(gè)次服務(wù)對(duì)象組成一個(gè)服務(wù)對(duì)象,完成對(duì)所有服務(wù)類的服務(wù)對(duì)象的初始化,得到所有服務(wù)對(duì)象
優(yōu)選的,配置信息獲取模塊還包括xml數(shù)據(jù)解析單元,具體用于對(duì)通過應(yīng)用服務(wù)器基礎(chǔ)框架對(duì)象獲取的xml配置文件進(jìn)行解析,得到服務(wù)器類配置信息、socket連接處理類配置信息、消息服務(wù)類配置信息、日志服務(wù)類配置信息、數(shù)據(jù)庫(kù)服務(wù)類配置信息、郵件服務(wù)類配置信息和視圖信息類配置信息。
優(yōu)選的,服務(wù)類配置模塊,具體用于通過視圖信息類配置信息中的視圖顯示類配置信息配置視圖顯示類,視圖顯示類配置信息包括:視圖描述信息、視圖屬性信息和視圖模型類路徑配置信息;通過視圖信息類配置信息中的視圖數(shù)據(jù)模型類配置信息配置視圖數(shù)據(jù)模型類,視圖數(shù)據(jù)模型類配置信息包括:視圖初始化參數(shù)信息、推送模型關(guān)聯(lián)視圖名、推送模型關(guān)聯(lián)視圖id和推送模型關(guān)聯(lián)的視圖會(huì)話控制器方法;通過視圖信息類配置信息中的視圖會(huì)話控制器類配置信息配置視圖會(huì)話控制器類,視圖會(huì)話控制器類配置信息包括:視圖會(huì)話控制器方法。
如圖3所示,優(yōu)選的,服務(wù)類配置模塊,具體用于通過服務(wù)類配置列表判斷需要配置的服務(wù)類的主服務(wù)對(duì)象和次服務(wù)對(duì)象的數(shù)量和服務(wù)方法;通過服務(wù)類配置列表和條目屬性表對(duì)應(yīng)用服務(wù)器基礎(chǔ)框架對(duì)象中各個(gè)服務(wù)類的服務(wù)id、服務(wù)類名稱、服務(wù)類別名、構(gòu)造方法、初始化方法、啟動(dòng)方法、工廠方法、屬性方法和關(guān)閉方法進(jìn)行配置,得到多個(gè)服務(wù)類;條目屬性表包括:配置信息和與配置信息相對(duì)應(yīng)的條目關(guān)鍵字,條目關(guān)鍵字與服務(wù)類配置列表中的信息相對(duì)應(yīng);根據(jù)服務(wù)類的主服務(wù)對(duì)象和次服務(wù)對(duì)象的數(shù)量和服務(wù)方法,對(duì)應(yīng)的為每一個(gè)服務(wù)類配置至少一個(gè)主服務(wù)對(duì)象初始化方法和多個(gè)次服務(wù)對(duì)象初始化方法。
優(yōu)選的,服務(wù)對(duì)象初始化模塊,具體用于通過主服務(wù)對(duì)象初始化方法初始化一個(gè)主服務(wù)對(duì)象和多個(gè)次服務(wù)對(duì)象初始化方法初始化多個(gè)次服務(wù)對(duì)象組成一個(gè)服務(wù)對(duì)象,根據(jù)所有服務(wù)類的主服務(wù)對(duì)象初始化方法和多個(gè)次服務(wù)對(duì)象初始化方法進(jìn)行初始化得到所有主服務(wù)對(duì)象和相對(duì)應(yīng)的次服務(wù)對(duì)象,進(jìn)而得到所有服務(wù)對(duì)象。
以上僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。