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