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 java.net.URLClassLoader, 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.

Mark


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to