On Tue, Sep 2, 2008 at 3:57 AM, Tim Funk <[EMAIL PROTECTED]> wrote: > Costin Manolache wrote: > >> <A LOT OF STUFF WHICH CAN BE FOUND IN THE ARCHIVES> >> > > Cool. In a nutshell - I like all the ideas. > > But while I like the idea of ditching Valves/LifecycleListeners - how does > this work when the component needs to work across multiple ServletContext's? > The only reason I see that Valves/LifecycleListeners need to yet exist is to > handle those kind of issues. Examples: AccessLogValve or any Valve which > needs to act on an the entire Container or a single virtual host. >
Using Filter interface doesn't mean we need to restrict it to a single ServletContext or not have access to internal objects, it should be possible to set them at container level. In tomcat-lite I tried either using the ROOT context, or using a super-context that comes before root - the filter chain in this context will replace the existing catalina valve chain. There is also a package - java/o.a.tomcat.servlets.addon ( like everything else in tomcat-lite, name and interfaces are subject to review and change ) with an attempt to abstract common interfaces that a filter could use to get extra-access to the container internals. The interfaces can be implemented by catalina, the new tomcat-lite - and maybe other containers if the choose so. Ideally, an extension will check if the container supports the extra interfaces and if not degrade to single-context mode if not. Costin