使用配置tomcat上下文文件的替代方法是什么?

问题描述 投票:0回答:3

我正在研究一个Web应用程序,最近我面临一个ClassCastException问题,发现同一个类已被两个不同的ClassLoader加载。我无法在群集中重现此问题。我只在本地环境中遇到此问题。我使用<Loader delegate =true />配置了Tomcat Context.xml。这解决了我的ClassCastException问题,使用了正确的ClassLoading机制,如here所述。现在,因为它已经在集群中正常工作,所以我不想在context.xml中进行更改。那么还有其他方法吗?

java eclipse web-applications tomcat7 tomcat8
3个回答
2
投票

根据Tomcat文档,

“Loader元素可以嵌套在Context组件中。如果不包含它,将自动创建默认的Loader配置。”

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

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

干杯,


0
投票

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


0
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.