-----Original Message-----
From: Mark Thomas [mailto:ma...@apache.org] 
Sent: Tuesday, November 11, 2014 11:49 AM
To: Tomcat Users List
Subject: Re: custom classloader missing root

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

I already tried getResources() but it returns null. hence my confusion. As far 
as I can tell, tomcat is not setting the root or context on my class loader.

As for looking through the source, I'm not even sure where to start. Is there a 
document somewhere that goes through the entire startup process of the tomcat 
container so I will at least have an idea of where the tomcat is supposed to be 
doing this?

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


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

Reply via email to