tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Assaf Arkin <>
Subject Re: [Catalina] Revised Interceptor and Valve Implementations
Date Mon, 24 Jan 2000 23:17:48 GMT
>   * The Interceptor design pattern has been refined such that an
>     Interceptor's postService() method receives notification of any
>     exception thrown by an application servlet, but not by other
>     Interceptors.


>   * The Valve pattern has been formally integrated, and an example
>     Valve (InterceptorValve) included that provides the Interceptor
>     design pattern for those who prefer it.  A convenience base class
>     (ValveBase) means you normally only need to implement the
>     invoke() method for a particular Valve.


>   * Support for Valve pipelines in a Container is now optional, and
>     is present only if the Container also implements the new Pipeline
>     interface.  The ContainerBase class, which is commonly used as a
>     base class for Container implementations, supports this capability.

Does that mean Valves will only work with certain containers? Are Valves
defined as independent connectors (like Interceptor), or as a property
of a certain container type (say, ValveCapableContainer)?

>   * The basic invoke() logic for each of the Container implementations
>     included so far (StandardEngine, StandardHost, and StandardContext)
>     has been extracted into a separate Valve, according to the Valve
>     design pattern.  As a result, Containers now no longer need to have
>     an explicit service() method -- every place that request processing
>     is desired now means you call invoke().

I'll have to trust you on that one ;-)


>   Obviously, none of this code is tested yet - the purpose at this
>   point is to nail down the design patterns we want to use.  However, if
>   you see any glaring logic errors, please do not hesitate to point
>   them out.
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

Assaf Arkin                                 
CTO, Exoffice Technologies, Inc.              

View raw message