cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Giacomo Pati <>
Subject Re: Cocoon Maven plugin - Merging deployer & rcl
Date Thu, 03 May 2007 11:23:17 GMT
Hash: SHA1

Reinhard Poetz wrote:
> Giacomo Pati wrote:
>> Reinhard Poetz wrote:

>>> 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></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.
>> To be honest, I don't get most of what you're saying. Do you propose
>> to write a wrapper for each and
>> every Filter one intend to use?
> No, we already have those wrappers and we need only _one_ of them per
> type (servlet, filters, listeners). See the example above: The
> DispatcherServlet isn't loaded directly. Instead,
> gets the
> parameter servlet-class with the value of the "wrapped" servlet passed.
> This way the classloader is injected.
> I *believe* (though I'm not 100% sure) that the problem you are facing
> now is that your acegi filter isn't wrapped and bypasses the reloading
> stuff.

Was a nice try :-( I've wrapped the Acegi-Filter as the other filter in the web.xml but still

java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh'
before accessing beans via the ApplicationContext
        at org.acegisecurity.util.FilterChainProxy.obtainAllDefinedFilters(
        at org.acegisecurity.util.FilterChainProxy.doFilter(
        at org.acegisecurity.util.FilterToBeanProxy.doFilter(
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(

As you can see it still happens with the ReloadingServletFilter :-(

_I'm stuck now!_
_There is nothing working for me anymore_
_I cannot run any of my blocks anyhow_


- --
Giacomo Pati
Otego AG, Switzerland -
Orixo, the XML business alliance -

Version: GnuPG v2.0.3 (GNU/Linux)


View raw message