-----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