JBoss在不同應(yīng)用間共享類(lèi)和資源
JBoss中不同應(yīng)用之間如何共享類(lèi)和資源:通常如果希望在JBoss不同應(yīng)用之間共享類(lèi)和資源,我們應(yīng)將類(lèi)和資源放在jboss/server/default/lib/下面,這樣所有的應(yīng)用可以共享資源;
JBoss中如果類(lèi)和和資源放在不同的war包中,卻想在不同的應(yīng)用間何共享WAR包中WEB-INF/classes和WEB-INF/lib中的資源,能否做到哪?
可以通過(guò)jbossweb-tomcat-55.sar/META-INF/jboss-service.xml配置文件中配置屬性UseJBossWebLoader來(lái)解決該問(wèn)題,只要將該屬性設(shè)置為true:表示Tomcat使用JBoss的統(tǒng)一類(lèi)加載器作為Web應(yīng)用的類(lèi)加載器這意味著WAR包中WEB-INF/classes和WEB-INF/lib目錄里的類(lèi)將被加載到缺省的共享類(lèi)加載器倉(cāng)庫(kù)中。通過(guò)它,可以實(shí)現(xiàn)類(lèi)和資源在Web應(yīng)用之間共享。但是,如果這不是你想要的情況,可以通過(guò)將該屬性設(shè)置為false來(lái)避免這種行為。
< attribute name="UseJBossWebLoader" > true < /attribute >
通常情況下應(yīng)該避免使用這種情況,因?yàn)楫?dāng)不同的應(yīng)用中擁有同樣的類(lèi)和資源的時(shí)候,JBoss不同應(yīng)用之間會(huì)產(chǎn)生沖突;舉例如下:
兩個(gè)war應(yīng)用 WarA,WarB下面均有com.liuxiang.A.class文件;
現(xiàn)在期望每個(gè)War包下面分別用各自的A.class文件,當(dāng)修改一個(gè)WarA的應(yīng)用時(shí)候,tomcat會(huì)重新部署以下應(yīng)用。這個(gè)時(shí)候,就會(huì)出現(xiàn)WarA應(yīng)用使用WarB下面的A.class,造成混亂。
【編輯推薦】