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