考慮以下幾點:support.jarJavaEE的模塊類加載和靜態變量
public class SupportUtil{
private static Map<String, Resource> myResources;
void init(){
initResources();
}
}
然後我有2個獨立戰爭應用程序相同的JavaEE服務器(當前使用wildfly 8)內遠程conneting到另一個EJB模塊
war1 -> lib/support.jar
war2 -> lib/support.jar
ejb1 -> ear-lib/support.jar
我的問題是,基於組件的類加載架構,將三個模塊看到相同的地圖關爲MyResources(考慮到這是一個類變量,類變量是由所有實例共享)
我需要澄清,對於野蠅或glassfish,classloading會如何影響這種行爲。
一旦這個類已經被加載,靜態的myResources將會與它一起被加載,並且它的相同副本將會與你所有的模塊共享,直到有類的引用。 – 2014-09-20 09:43:19
@DarshanLila會爲這三個模塊加載SupportUtil的同一個類加載器(讀取ModuleClassLoader的相同實例)嗎?請記住,這些是獨立的部署單元。 – maress 2014-09-20 09:52:15