Hi David, > > Hi, > > I have written a small patch to address some class loading issues in > CocoonServlet. In a previous (and rather lengthy) post on Friday I > detailed what I thought were some problems with Cocoon's > RepositoryClassLoader. I now see that this class loader is required for > the compiling and loading of XSP pages (and other things such as the > sitemap), although I do not think this ClassLoader should be used when > user code is executed. > > In my previous post, I described my reasoning for this, but the two main > reasons are that: > > 1) The Java API docs imply that it is a Thread's creator's > responsibility to set the ContextClassLoader (CocoonServlet does this > inappropriately, I believe), and; > > 2) When Cocoon sets its own ClassLoader as ContextClassLoader, this > breaks Tomcat's JNDI implementation because of the way Tomcat ties > Environment Naming Contexts to ClassLoaders (see my previous post) > > Although it is my personal opinion that Cocoon shouldn't be setting the > ContextClassLoader at all, my patch checks to make sure the > "init-classloader" param is set to true before it does so. Right now, > CocoonServlet ignores this parameter with a note in the code saying > "HACK for reducing class loader problems." -- which, I was also > wondering if someone could elaborate on what kind of problems are being > referred to here?
I don't now the problem, but as far as I can tell, the init-classloader param is evaluated. In CocoonServlet, line 306 (current CVS): this.addClassDirs = "true".equalsIgnoreCase(value) || "yes".equalsIgnoreCase(value); and this boolean is used at several places throughout the servlet class. So, what does your patch change? Carsten > > I see that BootstrapServlet does the same thing, except with > ParanoidClassLoader, but I've left this alone for now. > > I'd like some feedback, and if positive, I will go ahead and submit my > patch to Bugzilla. :-) > > Thanks, > > David > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]