一般的なwebappclassloaderを使用して、tomcatのすべてのWebappのwebappクラスローダをカスタマイズする方法はありますか?すべてのwebappsのwebappクラスローダをカスタマイズするには
クラスローダーを拡張して各webappのコンテキストタグに追加できることがわかりましたが、これをすべてのWebアプリケーションの共通クラスローダーとして配置する方法と、このクラスローダー.classファイルを配置する場所です?
おかげ
一般的なwebappclassloaderを使用して、tomcatのすべてのWebappのwebappクラスローダをカスタマイズする方法はありますか?すべてのwebappsのwebappクラスローダをカスタマイズするには
クラスローダーを拡張して各webappのコンテキストタグに追加できることがわかりましたが、これをすべてのWebアプリケーションの共通クラスローダーとして配置する方法と、このクラスローダー.classファイルを配置する場所です?
おかげ
あなたは$CATALINA_HOME/lib
でカスタムクラスローダを配置することができます。
package test.loader;
import org.apache.catalina.loader.WebappLoader;
public class MyWebappLoader extends WebappLoader {
public MyWebappLoader() {
System.err.println("!! create MyWebappLoader !!");
}
public MyWebappLoader(ClassLoader parent) {
super(parent);
System.err.println("!! create MyWebappLoader !!");
}
}
詳細については、あなたはTomcat document - The Loader Componentを読むことができます:
は、便利なソリューションは、サンプルコードはここ$CATALINA_HOME/conf/context.xml
<?xml version='1.0' encoding='utf-8'?>
<Context>
<Loader className="test.loader.MyWebappLoader" /><!-- add this element -->
</Context>
を変更している、すべてのWebアプリケーションのデフォルトのローダーを交換します。 Tomcat 7〜9で動作します。
ありがとう、もう一つ質問があります。すべてのwebappsのすべての共通jarをロードする共通クラスローダーを拡張またはカスタマイズする方法はありますか? – Lokn
共通クラスローダーのカスタマイズ方法がわかりません。特別な要件はありますか? –
共通クラスローダーをTomcatで拡張する方法はありますか? – Lokn