使用 <加载器委托 = true /> 配置 tomcat 上下文文件的替代方法是什么



我最近正在开发一个Web应用程序,我遇到了ClassCastException的问题,发现同一个类被两个不同的ClassLoader加载。我无法在群集中重现此问题。我仅在本地环境中遇到此问题。我配置了 Tomcat 上下文.xml <Loader delegate =true />这解决了我的ClassCastException问题,并具有正确的ClassLoad机制,如此处所述。现在,由于它在集群中已经运行良好,我不想在上下文中进行更改.xml。那么有没有其他方法。

根据 Tomcat 文档,

"加载器元素可以嵌套在上下文组件中。如果未包含,将自动创建默认加载程序配置。

因此,您可以在服务器中执行此操作.xml而无需更改 Context.xml 文件。

        <Context path="" docBase="" debug="0">
            <Loader delegate="true"/>
        </Context> 

干杯

No.配置委派的唯一方法是通过嵌套在 Context 元素中的 Loader 元素。

Loader

的标准实现是 org.apache.catalina.loader.WebappLoader。它支持属性 loaderClass。

自定义实现必须扩展 org.apache.catalina.loader.WebappClassLoaderBase

@seehttps://tomcat.apache.org/tomcat-8.0-doc/config/loader.html

最新更新