新四季網

一種基於Java平臺的Web業務支持方法和裝置的製作方法

2023-07-31 16:57:01

專利名稱:一種基於Java平臺的Web業務支持方法和裝置的製作方法
技術領域:
本發明涉及計算機領域,尤其涉及一種基於Java平臺的Web業務支持方法和裝置。
背景技術:
隨著經濟發展,現代企業規模逐漸擴大,涉及到的業務領域也越來越廣泛。企業需要有效手段來管理企業業務。越來越多的企業開始將日常處理的業務梳理為流程,通過規範化的流程來管理企業的日常運作。業務流程是一系列有組織的活動,它們之間互相聯繫,為客戶創造價值,為企業創造利潤。業務流程管理是以業務流程為中心的管理思想。眾多的企業將業務流程管理作為 企業管理的重點。輔助企業進行業務流程管理的軟體信息系統也成為重要的企業管理平臺。這就需要我們的業務系統有能夠快速的支持對企業用戶的新需求進行快速支持的能力,然而傳統的業務系統而言有以下問題I)、不同企業用戶使用的應用伺服器的不統一,很容易出現程序兼容性的問題;尤其是針對企業用戶新需求而開發的流程的新功能而言更是如此;2)、只專注於對已知的用戶需求做很好的支持,而沒有對企業用戶的新需求做很好的設計支持或者沒有形成可持續增加新功能的基礎底層架構。這就導致對於傳統的業務系統而言,要支持用戶越來越豐富的新的功能應用要求來說是相當困難的一件事情,並且後期的維護成本也很高;3)、由於大型企業用戶上線的有業務流程管理功能的系統是多套,每套系統基本上都是業務流程管理功能的重複;這導致用戶對於業務流程管理的通用功能做變更的話,就要把同樣的變更在各個業務系統上做幾乎同樣的工作,而且由於不同Java應用伺服器之間的差異性,直接導致增加用戶的維護成本。

發明內容
本發明實施例提供一種基於Java平臺的Web業務支持方法及裝置,使應用伺服器和業務系統實現分離,業務系統不依賴於應用伺服器,避免了兩者間出現兼容性問題的可能,且在需求變更的情況下,將維護成本最小化。為達到上述目的,採用如下技術方案—種基於Java平臺的Web業務支持方法,包括新建自定義類加載器,將自定義類加載器繼承指定的父類加載器;採用自定義類加載器在預設的存儲位置加載java程序類和資源;採用加載java程序類和資源後的自定義類加載器替換java平臺內核中指定的已加載的類加載器。優選的,所述採用自定義類加載器在預設的存儲位置加載java程序類和資源,包括
將新建的自定義類加載器的加載路徑設置為自定義的存儲路徑;
將所述新建的自定義類加載器實例化;
設置所述新建的自定義類加載器的加載行為,所述自定義類加載器加載在自定義的存儲路徑上保存的Java程序類和資源;
運行實例化後的新建的自定義類加載器。
優選的,所述採用加載java程序類和資源後的自定義類加載器替換java平臺內核中指定的已加載的類加載器,包括
將所述加載Java程序類和資源後的自定義類加載器設置為Web應用程式加載類的成員屬性;
將所述加載Java程序類和資源後的自定義類加載器加載至Java平臺內核中,替換Java平臺內核中指定的已加載的類加載器。
優選的,所述Web應用程式加載類為WebappXClassLoader。
本發明還公開了一種基於Java平臺的Web業務支持裝置,包括
建立單元,用於新建自定義類加載器,將自定義類加載器繼承指定的父類加載器;
第一加載單元,用於採用自定義類加載器在預設的存儲位置加載java程序類和資源;
第二加載單元,採用加載java程序類和資源後的自定義類加載器替換java平臺內核中指定的已加載的類加載器。
優選的,所述第一加載單元採用自定義類加載器在預設的存儲位置加載java程序類和資源,包括
將新建的自定義類加載器的加載路徑設置為自定義的存儲路徑;
將所述新建的自定義類加載器實例化;
設置所述新建的自定義類加載器的加載行為,令所述自定義類加載器加載在自定義的存儲路徑上保存的Java程序類和資源;
運行實例化後的新建的自定義類加載器。
優選的,所述第二加載單元採用加載java程序類和資源後的自定義類加載器替換java平臺內核中指定的已加載的類加載器,包括
將所述加載Java程序類和資源後的自定義類加載器設置為Web應用程式加載類的成員屬性;
將所述加載Java程序類和資源後的自定義類加載器加載至Java平臺內核中,替換Java平臺內核中指定的已加載的類加載器。
優選的,所述第二加載單元將加載Java程序類和資源後的自定義類加載器設置為Web應用程式加載類的成員屬性,包括將加載Java程序類和資源後的自定義類加載器設置為WebappXClassLoader的成員屬性。
本發明實施例提供的一種基於Java平臺的Web業務支持方法和裝置,管理人員只需要採用自定義的類加載器加載指定位置的Java類文件,並採用加載Java類文件後的類加載器替換Java平臺內核中指定的類加載器,即可採用升級後的Java類文件直接替換原有的Java類文件,從而實現了 Web業務系統的動態升級,使應用伺服器和業務系統實現分離,避免了和應用伺服器之間出現兼容性問題的可能,實現可持續增加新功能;在需求變更的情況下,使維護成本最小化,提高了 Web業務系統的性能和服務質量。


圖I為本發明提供的一種基於Java平臺的Web業務支持方法的步驟流程圖2為本發明提供的一種基於Java平臺的Web業務支持裝置的結構模塊圖。
具體實施方式
下面結合附圖對本發明實施例一種基於Java平臺的Web業務支持方法及裝置進行詳細描述。
在傳統的WEB應用開發中,開發的程序都是藉助於應用伺服器提供的方式和類加載方式加載開發的應用,這就使程序容易產生對應用伺服器的依賴,不同的系統則容易出現兼容性問題。在應用伺服器中部署的業務系統在加載級別上是最低的,不同的應用伺服器都會根據自身的實現方式在應用伺服器自身級別的類加載器和應用伺服器進行加載,這兩個級別上將分別放置不同的第三方程序代碼;這就產生以下問題1)這時處於WEB級別的業務系統如果使用了和放置在其自己加載級別以上(通常情況下為應用伺服器自身級別的類加載器和應用伺服器中代碼級的類加載器)的第三方程序 ,那麼根據Java類加載器的加載方式,會加載放置在應用伺服器這一級別上的第三方程序,而與第三方程序版本衝突的話則會影響業務系統的運行和使用;2)不同的應用伺服器或者同一應用伺服器的不同版本,在其應用伺服器自身級別的類加載器和應用伺服器中代碼級的類加載器的對應位置,所放入要加載的第三方程序往往是不同的,業務系統沒有辦法進行統一。例如應用伺服器自身要有其能解析應用伺服器自身配置文件的解析程序,如果用戶的需求是要求業務系統也要有同樣功能的解析配置文件的解析類,這樣在整個應用中就會有這兩個解析配置文件的程序。由Java其自身類加載的加載策略可以得知,在解析程序時,總是會使用比較上層應用伺服器上的解析程序。在調用解析時就會調用應用伺服器提供的解析程序,而沒有使用程序預置的解析程序;同時又不能把該解析程序刪除,在實際應用中這兩個解析程序的版本可能發生衝突。
Java程序的運行是通過Java虛擬機進行的,Java程序就是一系列類文件的集合, 類加載器就是把這一系列類文件加載到Java虛擬機中運行的關鍵類,Java自身的類加載器是根據應用伺服器的位置按照委託代理的模式去加載的程序;要實現應用伺服器和業務系統的程序代碼級的分離部署,就需要讓自定義的類加載器能加載不依賴應用伺服器的指定位置的類定義,也就是說加載應用伺服器之外的程序類定義,而這些類定義是業務流程系統的核心代碼。
本發明實施例中,重寫了類加載方法,即重新定義了 Java類文件的加載方式,實現Java類文件(如,Jar包)的動態加載,具體為新建一個自定義的類加載器,令新建的類加載器繼承指定的父類加載器,且將該父類加載器設置為空值,再採用新建的類加載器在預設存儲位置加載至少一個Java類文件,並採用加載Java類文件後的類加載器替換Java 平臺內核中指定的已加載的類加載器。
基於Java平臺的Web業務系統內,所有的Java類文件在加載的時候,都是通過內置的類加載器(ClassLoader)來實現加載工作的,Cl assLoader加載過程本身具有一定的層次與關係。以 BootStrapClassL oader、ExtClassLoader、AppClassLoader 以及用戶自定義的Custo mClassLoader,這四種類加載器為例,這四種類加載器分別負責不同路徑的 Java類文件的加載,並形成了一個類加載器的層次結構
BootStrapClassLoader處於類加載器層次結構的最高層,負責S un. boot, class, path路徑下Java類文件的加載,默認為jre/lib目錄下的核心API (應用程式接口) 或-Xbootclasspath選項指定的Java類文件。
ExtClassLoader處於類加載器層次結構的次高層,負責java. ext. dirs路徑下的 Java類文件的加載,默認為jre/lib/ext目錄或者-Djava. ext. dirs指定目錄下的Java類文件。
AppClassLoader處於類加載器層次結構的次低層,負責java. class, path下Java 類文件的加載,默認為環境變量CLASSPATH中設定的值。
用戶自定義CustomClassLoader處於類加載器層次結構的最低層,可以根據用戶的需要定製自己的類加載過程,在運行期進行指定Java類文件的動態實時加載。
上述四種類加載器形成一定的父子關係,高層為低層的父加載器,在進行Java類文件的加載時,系統首先會在類 加載器層次結果中自底向上挨個檢查是否已經加載了指定的Java類文件,如果已經加載則直接返回該Java類文件的引用,如果檢查到最高層也沒有加載過指定的Java類文件,那麼系統會自頂向下逐個嘗試加載指定的Java類文件,直到檢索到用戶自定義的類加載器CustomClassLoader,如果還不能加載成功,就會出現異常。
同一個類加載器實例而言,名字相同的Java類文件只能存在一個,並且僅能加載一次,不管該Java類文件有沒有變化,下次再需要加載時,只能從自身的緩存中直接返回已經加載過的Java類文件的引用。
本發明實施例中,如圖I所示,實現基於一種Java平臺的Web業務支持方法的詳細流程如下
步驟101 :新建自定義類加載器,將自定義類加載器繼承指定的父類加載器;
本實施例中,將新建的自定義的類加載器命名為DynamicClassL oader。本實施例中,DynamicClassLoader繼承的指定的父類加載器為CustomClassLoader,並將 CustomClassLoader的取值設置為null值,這樣,可以改變原始的加載順序,即原先由父類加載器先加載Java類文件,再由子類加載器加載Java文件,改為先由子加載器加載Java 類文件,再由父類加載器加載Java類文件,從而將原始的類加載順序修改成為自定義的類加載順序。
步驟102 :採用自定義類加載器在預設的存儲位置加載java程序類和資源;
本步驟包括
A、將新建的自定義類加載器的加載路徑設置為自定義的存儲路徑;
業務系統使用的第三方開源程序類和資源、以及業務系統自己的程序類和資源放置在業務系統的安裝位置,並且該安裝位置可以隨意指定,而不依賴應用伺服器的安裝位置,從而在物理層面上進行了有效的部署。
例如應用伺服器安裝在[D: \ApplicationServer],業務系統安裝在[E:\ BusinessProcessManagement],然後在應用伺服器上的自定義配置文件記載業務系統的位置,在應用伺服器的配置文件名可以為[Moc haBPM-install. properties]中記錄[mocha. BPM. install, path = E: \Busin essProcessManagement],業務系統在啟動的時候得到該配置,就可以使用自定義的類加載器加載到業務系統的程序類和資源了。
B、將所述新建的自定義類加載器實例化。
例如用戶交互界面的代碼放置在應用伺服器類加載最底層級的 WebappXClassLoader級別下,加載自定義類加載器的服務管理類Se rviceManager放置在應用伺服器的次低層類加載器SharedClassLoad er上,在應用伺服器啟動的時候,會依次加載並啟動WebappXClass Loader下的用戶交互界面的應用;而在用戶交互界面啟動的時候會自動調用放置在應用伺服器的SharedClassLoader上的ServiceManage r去讀取文件[MochaBPM-install. properties]中的屬性[mocha. BPM. ins tall, path],找到業務流程管理系統的安裝位置[E:\BusinessProcessMan agement],然後分別加載和實例化以應用伺服器的次低層類加載器為父結構的自定義類加載器MochaBPM-Lib-ClassLoader和以 MochaB PM-Lib-ClassLoader 為父結構的自定義類加載器 MochaBPM-App-Cl assLoader。
C、設置所述新建的自定義類加載器的加載行為,令所述自定義類加載器加載在自定義的存儲路徑上保存的Java程序類和資源;
例如MochaBPM-Lib-ClassLoader自定義類加載器設定為負責加載業務流程管理系統[E:\BusinessProcessManagement]下子目錄[th irdLib\]中所放置的第三方開源程序類和資源,MochaBPM-App-ClassL oader自定義類加載器設定為負責加載業務流程管理系統[E:\Business ProcessManagement]下子目錄[appLib\]中放置的業務核心代碼。
D、運行實例化後的新建的自定義類加載器。
自定義類加載器 MochaBPM-Lib-ClassLoader 和 MochaBPM-App-ClassLoader 將通過業務流程類路徑獲取器得到的第三方開源的程序類和資源、以及業務系統自身的程序類和資源加載到業務系統的自定義類加載器中。
優選的,業務系統的自定義類加載器加載具體的程序類和資源時,具體邏輯為
a)業務系統的類加載器加載自定義程序類和資源時,首先在業務流程管理系統自身搜索加載程序和資源。
b)如果沒有找到,業務系統的自定義類加載器才會去通過其上級類加載器去加載程序類和資源,讓其上級父類加載器去加載要加載的程序類和資源。
c)業務系統的自定義類加載器其上級類加載器根據自生配置按照其自定義的加載方式再去加載程序類和資源。
d)使用自定義的類加載方式,讓程序和資源首先在業務流程管理系統內先加載, 而不是直接委託上級父類加載的方式;這樣就解決了程序在加載時產生的邏輯層面的依賴。
步驟103 :採用加載java程序類和資源後的自定義類加載器替換java平臺內核中指定的已加載的類加載器。
本步驟包括
將所述加載Java程序類和資源後的自定義類加載器設置為Web應用程式加載類的成員屬性;
捋所述加載Java程序類和資源後的自定義類加載器加載至Java平臺內核中,替換Java平臺內核中指定的已加載的類加載器。
需要改變Web伺服器中的Java平臺的類加載方式,令Web伺服器將加載Java類文件後的類加載器重載至的Java平臺內核中,替換Java平臺內核中指定的已加載的類加載器,從而完成了 Java類文件的熱替換。
每一種Web伺服器上運行的Java平臺都有自身的類加載方式,以Web伺服器是 Tomcat Server為例,Tomcat Server在啟動的時候將構造一個類加載器樹,假設其層次和關係分別是
BootStrapClassLoader- > SystemClassLoader- > CommonClassL oader- > CatalinaClassLoader- > Shared ClassLoader- > Web 應用程式 WebappXClassLoader (用於加載Web應用程式的類加載器)。
其中,WebappXClassLoader為一種Web應用程式加載類,用於加載在/WEB-INF/ classes目錄裡所有的未包裝的Java類和資源,對每個Tomcat Server裡的Web應用都創建一個 WebappXClassLoade r, Web 應用下的 WEB-INF/classes,WEB-INF/lib 都由 WebappXCla ssLoader加載,它所加載的Java類文件對其他的Web應用是不可見的。如, 某一業務系統的應用程式組件與包(由多個類文件組成)是安裝在/WEB-INF/classes與 WEB-INF/lib下面的,而WebappXClassLoad er負責這個業務系統的所有應用程式組件與包的加載。
從上可知,要想改變Web伺服器上Java平臺的類加載方式,就需要改造Tomcat Server的類加載器樹形結構類,具體過程如下將新建的已加載了 Java類文件的類加載器DynamicClassLoader作為AppClassLoader子類加載器;添加重建方法,令Tomcat Server在重新加載時,採用重載的類加載器DynamicClassLoader,替換掉Java平臺內核中指定的已加載的類加載器,修改IoadClass方法,由於外層升級類組件需要調用 DynamicClassLoader類中的IoadClass方法實現動態升級類組件,將IoadClass方法屬性修改成為pub I i c,添加相關的代碼,從而將重建的屬性加入相關的地方。
以Web伺服器Tomcat為例
BootStrapClassLoader- > SystemClassLoader- > CommonClassL oader- > CatalinaClassLoader- > SharedClassLoader- > WebappXClass Loader (Web 應用程式)。
BootStrapClassLoader處於類加載器層次結構的最高層,負責Sun. boot, class, path路徑下Java類文件的加載,默認為jre/lib目錄下的核心API (應用程式接口) 或-Xbootclasspath選項指定的Java類文件。
SystemClassLoader處於類加載器層次結構的次高層,負責java. class, path下 Java類文件的加載,默認為環境變量CLASSPATH中設定的值。
CommonClassLoader處於類加載器層次結構的次低層,負責加載Tomcat Server 應用伺服器自身需要的程序類文件,可以被具體應用調用並使用,默認路徑是[Tomcat安裝路徑]/common/。
CatalinaClassLoader處於類加載器層次結構第四層,負責加載T omcat Server 應用伺服器自身需要的程序類文件,但是不可以被具體應用調用並使用。
SharedClassLoader也處於類加載器層次結構的次低層,和Cata IinaClassLoader 並列,但是順序此 CatalinaClassLoader 靠後;負責加載 Tomcat Server給具體應用使用的程序類文件,這些程序類文件Tomcat Server自身並不使用。
WebappXClassLoader處於處於類加載器層次結構的最低層,負責加載各個不同的具體WEB應用,具體加載每個應用WEB-INF/clas ses和WEB-INF/1 ib下的程序類和資源文件。
由以上結構,在本發明中,業務系統有三部分內容和Tomcat Ser vei*對應1) 用戶交互界面,即具體的WEB應用,不包含具體的業務邏輯;2)業務流程管理系統核心代碼,安裝在[E:\BusinessProcessM anagement] ;3)服務管理類 ServiceManager,負責在 Tomcat Serv er中調用自定義類加載器DynamicClassLoader加載業務流程管理系統的核心代碼,放置在Tomcat Server的SharedClassLoader這個加載其中,可以給Tomcat Server下的多個WEB應用同時提供業務流程管理系統的支持。
具體過程如下在Tomcat Server啟動時,
1.依次加載並啟動WebappXClassLoader下的WEB的應用。
2. WEB應用啟動的時候會自動調用放置在應用伺服器的SharedClas sLoader上的 ServiceManager 去讀取文件[MochaBPM-install. prop erties]中的屬性[mocha. BPM. install, path],找到業務系統的存儲路徑[E: \BusinessProcessManagement]。
3.分別加載和實例化以SharedClassLoader為父結構的自定義類加載器 MochaBPM-Lib-ClassLoader 和以 MochaBPM-Lib-ClassLoa der 為父結構的自定義類加載器 MochaBPM-App-ClassLoader,即[SharedClassLoader]- > [MochaBPM-Lib-ClassLoader]- > [Mocha BPM-App-ClassLoader]。
4. MochaBPM-Lib-ClassLoader自定義類加載器預設為負責加載業務系統 [E:\BusinessProcessManagement]下子目錄[thirdLib\]中所放置的第三方開源程序類和資源,MochaBPM-App-ClassLoader自定義類加載器設定為負責加載業務系統[E:\ BusinessProcessManage ment]下子目錄[appLib\]中放置的業務核心代碼。
5. WEB應用相應用戶請求時,會通過在SharedClassLoader中的Se rviceManager 去MochaBPM-App-ClassLoader中尋找加載的java程序類和資源。
6. MochaBPM-App-ClassLoader需找被請求的java程序類和資源時,首先在其 MochaBPM-App-ClassLoader自身中搜索加載程序和資源。
7. MochaBPM-App-ClassLoader 如果沒有找到,MochaBPM-App-CI assLoader 會通過其父類加載器MochaBPM-Lib-ClassLoader去加載java程序類和資源。
8. MochaBPM-Lib-ClassLoader需找被請求的程序類和資源時,首先在其 MochaBPM-Lib-ClassLoader自身中搜索加載java程序類和資源;如果沒有找到, MochaBPM-Lib-ClassLoader會通過其父類加載器SharedClassLoader去加載java程序類和資源。
9. SharedClassLoader和其上級類加載器都是Java系統默認的委託加載模型,這些類加載器根據自身配置按照其自定義的加載方式再去加載java程序類和資源。
本方法中,自定義的類加載器可以加載指定位置的程序文件,這樣就解決了物理層面上文件部署位置方面的對應用伺服器的依賴。由此業務系統所使用的第三方程序和自身的核心程序都可以部署放置於應用伺服器之外,由自定義的類加載器去加載執行。
由此可知,由於業務流程管理系統的核心業務代碼是獨立於應用伺服器之外的,所以同一套業務流程管理系統的核心業務代碼可以同時被多個不同的應用伺服器所使用, 降低複雜系統的構建難度。
在加載業務流程系統時,不使用Java其自身的類加載器的委託代理加載方式,使用自定義的類加載器,這樣就可以按照程序的要求加載應用伺服器之外的程序,並按照自定義的加載順序邏輯,從而在邏輯上也拋棄了對應用伺服器的依賴;解決了不同應用伺服器和業務流程管理系統的兼容性問題;而且可以實現功能靈活、便於對用戶的新需求進行良好設計和可持續支持的底層架構。
本發明還公開了一種基於Java平臺的Web業務支持裝置,如圖2所示,包括
建立單元201,用於新建自定義類加載器,將自定義類加載器繼承指定的父類加載器;
第一加載單元202,用於採用自定義類加載器在預設的存儲位置加載java程序類和資源;
第二加載單元203,採用加載java程序類和資源後的自定義類加載器替換java平臺內核中指定的已加載的類加載器。
優選的,所述第一加載單元採用自定義類加載器在預設的存儲位置加載java程序類和資源,包括
將新建的自定義類加載器的加載路徑設置為自定義的存儲路徑;
將所述新建的自定義類加載器實例化;
設置所述新建的自定義類加載器的加載行為,令所述自定義類加載器加載在自定義的存儲路徑上保存的Java程序類和資源;
運行實例化後的新建的自定義類加載器。
優選的,所述第二加載單元採用加載java程序類和資源後的自定義類加載器替換java平臺內核中指定的已加載的類加載器,包括
將所述加載Java程序類和資源後的自定義類加載器設置為Web應用程式加載類的成員屬性;
將所述加載Java程序類和資源後的自定義類加載器加載至Java平臺內核中,替換Java平臺內核中指定的已加載的類加載器。
優選的,所述第一加載單元將自定義類加載器繼承的指定的父類加載器,包括將新建的自定義類加載器繼承CustomClassLoader。
優選的,所述第二加載單元將加載Java程序類和資源後的自定義類加載器設置為Web應用程式加載類的成員屬性,包括將加載Java程序類和資源後的自定義類加載器設置為WebappXClassLoader父加載器AppClassLoader的子加載器。
本發明實施例提供的一種基於Java平臺的Web業務支持方法和裝置,管理人員只需要採用自定義的類加載器加載指定位置的Java類文件,並採用加載Java類文件後的類加載器替換Java平臺內核中指定的類加載器,即可採用升級後的Java類文件直接替換原有的Java類文件,從而實現了 Web業務系統的動態升級,使應用伺服器和業務系統實現分離,避免了和應用伺服器之間出現兼容性問題的可能,實現可持續增加新功能;在需求變更的情況下,使維護成本最小化,提高了 Web業務系統的性能和服務質量。
以上所述,僅為本發明的具體實施方式
,但本發明的保護範圍並不局限於此,任何熟悉本技術領域的技術人員在本發明揭露的技術範圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護範圍之內。因此,本發明的保護範圍應所述以權利要求的保護範圍為準。
權利要求
1.一種基於Java平臺的Web業務支持方法,其特徵在於,包括 新建自定義類加載器,將自定義類加載器繼承指定的父類加載器; 採用自定義類加載器在預設的存儲位置加載java程序類和資源; 採用加載java程序類和資源後的自定義類加載器替換java平臺內核中指定的已加載的類加載器。
2.根據權利要求I所述的方法,其特徵在於,所述採用自定義類加載器在預設的存儲位置加載java程序類和資源,包括 將新建的自定義類加載器的加載路徑設置為自定義的存儲路徑; 將所述新建的自定義類加載器實例化; 設置所述新建的自定義類加載器的加載行為,令所述自定義類加載器加載在自定義的存儲路徑上保存的Java程序類和資源; 運行實例化後的新建的自定義類加載器。
3.根據權利要求I或2所述的方法,其特徵在於,所述採用加載java程序類和資源後的自定義類加載器替換java平臺內核中指定的已加載的類加載器,包括 將所述加載Java程序類和資源後的自定義類加載器設置為Web應用程式加載類的成員屬性; 將所述加載Java程序類和資源後的自定義類加載器加載至Java平臺內核中,替換Java平臺內核中指定的已加載的類加載器。
4.根據權利要求3所述的方法,其特徵在於,所述Web應用程式加載類為WebappXClassLoaderο
5.一種基於Java平臺的Web業務支持裝置,其特徵在於,包括 建立單元,用於新建自定義類加載器,將自定義類加載器繼承指定的父類加載器;第一加載單元,用於採用自定義類加載器在預設的存儲位置加載java程序類和資源;第二加載單元,採用加載java程序類和資源後的自定義類加載器替換java平臺內核中指定的已加載的類加載器。
6.根據權利要求5所述的裝置,其特徵在於,所述第一加載單元採用自定義類加載器在預設的存儲位置加載java程序類和資源,包括 將新建的自定義類加載器的加載路徑設置為自定義的存儲路徑; 將所述新建的自定義類加載器實例化; 設置所述新建的自定義類加載器的加載行為,令所述自定義類加載器加載在自定義的存儲路徑上保存的Java程序類和資源; 運行實例化後的新建的自定義類加載器。
7.根據權利要求5或6所述的裝置,其特徵在於,所述第二加載單元採用加載java程序類和資源後的自定義類加載器替換java平臺內核中指定的已加載的類加載器,包括 將所述加載Java程序類和資源後的自定義類加載器設置為Web應用程式加載類的成員屬性; 將所述加載Java程序類和資源後的自定義類加載器加載至Java平臺內核中,替換Java平臺內核中指定的已加載的類加載器。
8.根據權利要求7所述的裝置,其特徵在於,所述第二加載單元將加載Java程序類和資源後的自定義類加載器設置為Web應用程式加載類的成員屬性,包括將加載Java程序類和資源後的自定義類加載器設置為Webapp XClassLoader的成員屬性。
全文摘要
本發明實施例公開了一種基於Java平臺的Web業務支持方法和裝置,屬於計算機領域。方法包括新建自定義類加載器,將自定義類加載器繼承指定的父類加載器;採用自定義類加載器在預設的存儲位置加載java程序類和資源;採用加載java程序類和資源後的自定義類加載器替換java平臺內核中指定的已加載的類加載器。本發明管理人員只需要採用自定義的類加載器加載指定位置的Java類文件,使應用伺服器和業務系統實現分離,避免了和應用伺服器之間出現兼容性問題的可能,實現可持續增加新功能;在需求變更的情況下,使維護成本最小化,提高了Web業務系統的性能和服務質量。
文檔編號G06F9/44GK102929597SQ20121035613
公開日2013年2月13日 申請日期2012年9月24日 優先權日2012年9月24日
發明者何宇 申請人:摩卡軟體(天津)有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀