System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及應用服務器的數據處理,更具體地說,涉及應用服務器優先加載類庫的處理方法及裝置。
技術介紹
1、針對于應用服務器而言,保障應用程序正常運行的重要性是不言而喻的,能夠兼容各種框架開發的應用是應用服務器發展的趨勢。目前絕大多數全球廣域網(world?wideweb,web)應用都包含軟件包文件格式(java?archive,jar)文件類庫,由于不同廠家開發的應用,因此其規范性也存在差異。
2、web應用在部署階段或訪問階段,都可能會從web應用jar文件類庫中查找類文件。在查找類文件的過程中,其中有部分場景(即不規范場景),web應用jar文件類庫中的部分jar文件,存在多個版本(如a-1.0.jar,a-2.0.jar等),即同一個類在web應用jar文件類庫中存在多份類文件,而且每份類文件中的內容并不一致。應用服務器從web應用jar文件類庫中查找類文件時,按jar文件名稱的ascii碼值排序進行查找,首先會查找到美國信息交換標準代碼(american?standard?code?for?information?interchange,ascii)碼值排序靠前的jar文件中的類文件(如a-1.0.jar),但是web應用在運行過程中,實際上是需要高版本jar文件中的類文件(如a-2.0.jar),由于應用書寫不規范,按正常順序查找類文件時,實際上是查找到了錯誤的類文件,從而導致web應用在部署階段、訪問階段,出現一系列類加載沖突問題。
3、因此,如何避免web應用在部署階段或訪問階段出現類加載沖
技術實現思路
1、有鑒于此,本申請公開了一種應用服務器優先加載類庫的處理方法及裝置,旨在避免web應用在部署階段、訪問階段等出現一系列類加載沖突問題。
2、為了實現上述目的,其公開的技術方案如下:
3、本申請第一方面公開了一種應用服務器優先加載類庫的處理方法,所述方法包括:
4、通過預先創建的應用層類加載器讀取預先配置的類庫加載文件;其中,所述應用層類加載器由預先配置好的web應用進行創建得到;所述類庫加載文件為在類加載屬性標簽下的標準部署描述文件;
5、通過預設查找方式從所述類庫加載文件中查找類文件;其中,所述類文件為優先加載類文件屬性所對應的優先加載的包含軟件包文件格式的文件;
6、若監測到所述類文件為錯誤的類文件,按照預設部署方式部署web應用,以通過所述web應用查找正確的類文件;
7、加載所述正確的類文件進行訪問;
8、若訪問所述正確的類文件失敗,生成報錯提示,根據所述報錯提示重新配置類庫加載文件,并返回通過預先創建的應用層類加載器讀取預先配置的類庫加載文件這一步驟,直至web應用的部署成功和訪問成功。
9、優選的,配置類庫加載文件的過程,包括:
10、定義類庫加載文件中的部署描述文件,并配置類加載屬性標簽,得到配置后的部署描述文件;
11、將所述配置后的部署描述文件存儲于web應用的標準文件夾目錄下,以完成配置類庫加載文件的過程。
12、優選的,所述通過預先創建的應用層類加載器讀取預先配置的類庫加載文件,包括:
13、將預先配置好的web應用部署到應用服務器;
14、通過所述應用服務器創建所述預先配置好的web應用對應的應用層類加載器;
15、通過所述應用層類加載器解析預先配置的類庫加載文件中的部署描述文件,得到類加載屬性標簽;
16、讀取所述類加載屬性標簽,以完成讀取優先加載類文件屬性所配置的優選加載的類文件名稱的過程;
17、將所述優先加載類文件屬性所配置的優選加載的類文件名稱存儲至優先加載類文件數組中;
18、遍歷所述優先加載類文件數組,按照第一預設順序將所述優先加載類文件數組中的類文件添加到應用層類加載器的類路徑中;其中,所述第一預設順序由所述類加載屬性標簽中所配置的優先加載的所有類文件的順序確定;
19、按照預設過濾方式對應用層類加載器的類路徑中的優先加載類文件數組中的類文件進行過濾,并將web應用類文件類庫中其余的所有類文件,依次按照第二預設順序添加到應用層類加載器的類路徑中,以完成讀取預先配置的類庫加載文件的過程;其中,所述web應用類文件類庫中其余的所有類文件為過濾類路徑中的優先加載類文件數組中的類文件后所剩余的類文件。
20、優選的,所述通過預設查找方式從所述類庫加載文件中查找類文件,包括:
21、在應用部署階段中,按照應用層類加載器的類路徑中所定義的順序,從所述類庫加載文件中查找類文件;
22、所述在應用部署階段中,按照應用層類加載器的類路徑中所定義的順序,從所述類庫加載文件中查找類文件,包括:
23、在應用部署階段中,優先查找應用層類加載器的類路徑中所配置的優先加載的類文件,直至應用層類加載器的優先加載的類文件全部查找完成,并按照所述第二預設順序查找web應用類文件類庫中其余的所有類文件。
24、優選的,所述若監測到所述類文件為錯誤的類文件,按照預設部署方式部署web應用,以通過所述web應用查找正確的類文件,包括:
25、若所述類文件在實際部署過程中報錯,確定所述類文件為錯誤的類文件;
26、根據所述錯誤的類文件調整類庫加載文件,使得web應用實際所需的正確的類文件配置到部署描述文件的優先加載類文件屬性中,以通過所述web應用查找正確的類文件。
27、優選的,所述加載所述正確的類文件進行訪問,包括:
28、在訪問階段中,通過應用層類加載器加載所述正確的類文件進行訪問。
29、本申請第二方面公開了一種應用服務器優先加載類庫的處理裝置,所述裝置包括:
30、讀取單元,用于通過預先創建的應用層類加載器讀取預先配置的類庫加載文件;其中,所述應用層類加載器由預先配置好的web應用進行創建得到;所述類庫加載文件為在類加載屬性標簽下的標準部署描述文件;
31、查找單元,用于通過預設查找方式從所述類庫加載文件中查找類文件;其中,所述類文件為優先加載類文件屬性所對應的優先加載的包含軟件包文件格式的文件;
32、部署單元,用于若監測到所述類文件為錯誤的類文件,按照預設部署方式部署web應用,以通過所述web應用查找正確的類文件;
33、加載單元,用于加載所述正確的類文件進行訪問;
34、生成配置單元,用于若訪問所述正確的類文件失敗,生成報錯提示,根據所述報錯提示重新配置類庫加載文件,并返回通過預先創建的應用層類加載器讀取預先配置的類庫加載文件這一步驟,直至web應用的部署成功和訪問成功。
35、優選的,配置類庫加載文件的讀取單元,包括:
36、定義配置模塊,用于定義類庫加載文件中的部署描述文件,并配置類加載屬性標簽,得到配置本文檔來自技高網...
【技術保護點】
1.一種應用服務器優先加載類庫的處理方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,配置類庫加載文件的過程,包括:
3.根據權利要求1所述的方法,其特征在于,所述通過預先創建的應用層類加載器讀取預先配置的類庫加載文件,包括:
4.根據權利要求3所述的方法,其特征在于,所述通過預設查找方式從所述類庫加載文件中查找類文件,包括:
5.根據權利要求1所述的方法,其特征在于,所述若監測到所述類文件為錯誤的類文件,按照預設部署方式部署WEB應用,以通過所述WEB應用查找正確的類文件,包括:
6.根據權利要求1所述的方法,其特征在于,所述加載所述正確的類文件進行訪問,包括:
7.一種應用服務器優先加載類庫的處理裝置,其特征在于,所述裝置包括:
8.根據權利要求7所述的裝置,其特征在于,配置類庫加載文件的讀取單元,包括:
9.根據權利要求7所述的裝置,其特征在于,所述讀取單元,包括:
10.根據權利要求9所述的裝置,其特征在于,所述查找單元,包括:
【技術特征摘要】
1.一種應用服務器優先加載類庫的處理方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,配置類庫加載文件的過程,包括:
3.根據權利要求1所述的方法,其特征在于,所述通過預先創建的應用層類加載器讀取預先配置的類庫加載文件,包括:
4.根據權利要求3所述的方法,其特征在于,所述通過預設查找方式從所述類庫加載文件中查找類文件,包括:
5.根據權利要求1所述的方法,其特征在于,所述若監測到所述類文件為錯誤的類文件,按照預設...
【專利技術屬性】
技術研發人員:魯國帥,趙欣,翟魯超,李得亮,楊傳艷,李長霞,
申請(專利權)人:山東中創軟件商用中間件股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。