> -----Original Message-----
> From: Mark Thomas [mailto:ma...@apache.org]
> Sent: Tuesday, November 11, 2014 12:14 PM
> To: Tomcat Users List
> Subject: Re: custom classloader missing root
> 
> On 11/11/2014 17:01, Ed Rouse wrote:
> >
> >
> > -----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.
> 
> That depends on when you call it.

Since it is the <Loader> in the context.xml file, I am not calling it, tomcat 
is. 
Is there another way to do this so I can call it manually from within the 
webapp?

> 
> >
> > As for looking through the source, I'm not even sure where to start.
> 
> How about the source for WebappClassLoader and look for where
> setResources() is called?
> 
> > 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?
> 
> Nothing current but it hasn't changed much since this was written:
> http://cp.mcafee.com/d/k-Kr6xASyMy-
> ejsK_sTsSztcQsLL6zAsepdETjd7bXNEVujpdETjd7bXNEV73C3qdQPhO-
> qekknD3vNGTjMkH8-7NVsSH8-7NVsSzXb2rz3_nV-
> UVB_HTbFILnUQsLfTd7fbnhIyyHt57BgY-
> F6lK1FJ4SyrKrKr01DRJFVeJ9UxmRcSdysF_qrsvOAZzdJrwsrrFYq5U_dKc2WrZTQTy_NG
> TjPBp7M-fbwGtlrrfJmSNf-
> 00CS7DTzobZ8QgmrFeGFEwIvJa7RR3UCy1mlaiwhd44qRCrpvdBSUG
> 
> Mark
> 
> ---------------------------------------------------------------------
> 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