tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Thomas <>
Subject Re: custom classloader missing root
Date Tue, 11 Nov 2014 16:48:59 GMT
On 11/11/2014 15:34, Ed Rouse wrote:
> I am trying to convert a custom class loader from version 5.5 to version 8.0.11, running
under ubuntu.
> I have the following line in my context.xml file.
>                 <Loader loaderClass="com.comsquared.idw.catalina.ext.IDWMClassLoader"
delegate="false" />
> I have tried the delegate as both true and false with no difference. I have found that
the parent loader is, not
> org.apache.catalina.loader.WebappLoader or org.apache.catalina.loader.WebappClassLoaderBase
as I expected.

Your expectation is incorrect.

> My class loader extends org.apache.catalina.loader.WebappClassLoader. In order to add
files, as far as I know I need an org.apache.catalina.WebResourceRoot
> (probably StandardRoot) and an org.apache.catalina.Context (probably org.apache.catalina.core.StandardContext).
> So how do I get, find or create these 2 classes? 

You don't create them. You don't have access to the Context. Tomcat
creates them and sets them on your class loader. You then access them
with getResources() and getResources().getContext().

> I think I can create a new StandardRoot if I have a Context, but what needs to be done
to create
> a proper context for a web application that is getting auto-loaded by the tomcat container
at startup?

Tomcat does all of this for you.

> I am missing some information and have, as yet, not been able to find any details about
how to accomplish this.

The source code is usually a good place to start. If you can't figure
out how stuff works from the source fire up a Tomcat instance, attach a
debugger and step through the code.


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message