Geoff Howard wrote: >Great. I'll proceed with a light jndi impl, since most jms vendors provide >one. This ought to be a useful one for the archives. > >Thanks, >Geoff > > > >>-----Original Message----- >>From: David Haraburda [mailto:[EMAIL PROTECTED]] >>Sent: Tuesday, June 11, 2002 2:03 AM >>To: [EMAIL PROTECTED] >>Subject: Re: JNDI in cocoon (related to ClassLoader issues) >> >> >>Hi Geoff, >> >>Here's the deal: >> >>Jakarta Tomcat, from version 4.0 and on, provides an in-memory Environment Naming >Context (ENC). To enlist an object into this ENC, you configure it in server.xml, >and then in your web application's web.xml file. Tomcat keeps a seperate ENC for >each web application context (note that a web app context is different from a naming >context). >> >>Additionally, each web application has a seperate instance of Tomcat's >WebAppClassloader. The way Tomcat keeps track of each of these ENC's is by mapping >them to each Thread's ContextClassLoader -- when this association is made at startup, >the appropriate ENC's are mapped to the appropriate WebappClassLoaders. When Cocoon >is initialized however, the ContextClassLoader is overridden. Thus, when a lookup is >attempted (or even an attempt to get the InitialContext), it fails, because it can't >find an ENC mapped to Cocoon's RepositoryClassLoader. >> >>I submitted a patch to Tomcat, and from version 4.1 on, Tomcat looks for an ENC by >checking the ContextClassLoader, and then searching up through the classloader >heirarchy, so it will work that way. >>However, the real problem is with Cocoon setting the ContextClassLoader when it >shouldn't be, and that is going to be fixed soon as well. >> >>
This is now fixed, but this problem is very likely to resurface with Cocoon blocks : if a block comes with its own jars, Cocoon will have to create a classloader for them and set it as the context classloader so that block-defined classes can be loaded correctly by Avalon. Tomcat seems to be ok now by travelling up the classloader hierarchy, but what about other servlet containers ? Sylvain -- Sylvain Wallez Anyware Technologies Apache Cocoon http://www.anyware-tech.com mailto:[EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]