JBossでEARごとにクラスローダを分けるには.
WebLogicでは気にすることなかったんだけど,JBossだと異なるEAR内で同じクラスを参照していると,どうも最初にロードしたEAR上にあるクラスが他のEARでも読まれるみたい.
なんで,そのクラスがstatic変数とか持ってると,ちょっと困ったことになる.
#なにやら,UnifiedClassLoaderってのが関係しているらしい.
で,回避するには「このクラスはこのEARから読んでね」という指示をjboss-app.xmlに記述してEARのMETA-INFに放り込むそうだ.
foo.barパッケージは,hoge.earから読んで欲しい場合,hoge.earのMETA-INF/jboss-app.xmlに以下のように記述する.
foo.bar:loader=hoge.ear