cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Reinhard Poetz <reinh...@apache.org>
Subject Re: Cocoon Maven plugin - Merging deployer & rcl
Date Wed, 02 May 2007 15:22:26 GMT
Giacomo Pati wrote:
> Reinhard Poetz wrote:
>> Giacomo Pati wrote:
> 
>>> Now this seems to me that some changes with the RCL prevents third
>>> party servlet filters to access
>>> the ApplicationContext, or am I wrong?
>> no, that's my interpretation of the stacktrace too
>>
>>> Any pointers?
>> The problem is that when the app context gets reloaded, there is a time
>> frame, when the context is not available. At the moment I only have a
>> vague idea how we can prevent e.g. the acegi filter from accessing a
>> (temporarily) non-existing context.
>> Maybe we can provide some kind of wrapper for the app context that locks
>> the access to the app context in question for the time of
>> reinitializiation.
> 
> Sounds kinda complicated. Where is would such a thing be located in the code?

I've had some more thoughts about this and I believe that we don't need to go 
that far. We only have to make sure that all servlets, filters and listeners 
that we inject are being rewritten so that they get wrapped by their 
"Reloading*" equivalents, e.g. see the dispatcher servlet:

       <servlet>
         <servlet-name>DispatcherServlet</servlet-name>
         <display-name>DispatcherServlet</display-name>
         <description>Cocoon blocks dispatcher</description>
 
<servlet-class>org.apache.cocoon.tools.rcl.wrapper.servlet.ReloadingServlet</servlet-class>
         <init-param>
           <param-name>servlet-class</param-name>
 
<param-value>org.apache.cocoon.servletservice.DispatcherServlet</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
       </servlet>


Carsten added the code that rewrites a web.xml in order to use the shielding 
stuff, see org.apache.cocoon.maven.deployer.WebApplicationRewriter.shieldWebapp. 
  It shouldn't be too difficult to use it for our purpose too.

-- 
Reinhard Pötz           Independent Consultant, Trainer & (IT)-Coach 

{Software Engineering, Open Source, Web Applications, Apache Cocoon}

                                        web(log): http://www.poetz.cc
--------------------------------------------------------------------

Mime
View raw message