开发者

Custom Tomcat Valve contained in web app WAR file

开发者 https://www.devze.com 2023-03-08 08:13 出处:网络
I\'m looking to implement a custom Valve and configuring it using META-INF/context.xml. At the moment though, when context.xml is parsed during deployment, Tomcat (6.0.32) dies with a ClassNotFoundEx

I'm looking to implement a custom Valve and configuring it using META-INF/context.xml.

At the moment though, when context.xml is parsed during deployment, Tomcat (6.0.32) dies with a ClassNotFoundException on my custom Valve implementation.

I'm under the impression that I'm running into a class loading开发者_JAVA技巧 context issue and I'm not 100% sure I understand it.

Is my class not found because it is located in the WEB-INF/classes file and the Context level class loader is unable to locate the class because of the hierarchy?

Thanks in advance.


You can not load Valves from inside the webapp class loader. If you look at http://tomcat.apache.org/tomcat-6.0-doc/class-loader-howto.html it shows the available class loaders. You must use one of the Bootstrap, System or Common classloaders because Valve definitions are processed BEFORE the individual webapp classloaders are created: the Context has to be processed before the webapp is available.

Package your Valve in a jar by itself and copy it into the $CATALINA_HOME/lib folder and you should be all set.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号