Weblogicのクラスローダ
http://jp.bea.com/e-docs/wls/docs81/programming/classloading.html
- クラスローダの一部だけを更新することはできない。更新したいときは全て捨てる必要がある。
- weblogic.xmlのprefer-web-inf-classesでWeb アプリケーションに関連するClassLoaderのロードの順番を逆(自ClassLoader優先)にすることができる。
- アプリケーション(EAR)クラスローダの上は、システムクラスパスクラスローダ
- EJB JARは、アプリケーションクラスローダにロードされる。
- JSPのクラスローダは、Webアプリのクラスローダの子
- EJB JARと、Webアプリ(WAR)のクラスローダ階層はweblogic-application.xmlでいろいろ返られる。(WARとEJBを同じ階層にしたりとか。)
- ただいろいろ制約がある。
- EJBの実装クラスは、個々にクラスローダを持ち、ホーム/リモートインタフェースのクラスローダの子となる。ゆえに実装クラスは個別にリロードできる。
起動クラスで呼び出したクラスは、、どこのクラスローダにロードされるのだろう。
システムクラスパスクラスローダ?でも、ここにロードされるとすべてのサーバに影響がでそうだし、起動クラスのデプロイ先としてサーバが指定できるから、まず違う。
(サーバのクラスはどこにロードされるか知らないけど、多分、システムクラスパスクラスローダの子で、アプリケーションクラスローダとは別のブランチのクラスローダだろう。)
となると、アプリケーションクラスローダでロードされるのか?
そうなると、1つのサーバに複数のアプリケーションがのっている場合には、何回も呼ばれるの?
なんか違う気もする。
よぅわからん。