peter royal wrote:
On Mar 4, 2006, at 9:37 AM, Michael Link wrote:
I think this concept would be orthogonal to the Filter-Chain concept; instead of a chain you have decorator of the filter. And life-cycle management still works as designed except in the cases where the user/container explicitly manages the IoFilter. Doesn't solve the current deadlock problem in ThreadPoolFilter but perhaps adds something to the discussion about automatic/manual life-cycle management.

I like this! But I'd invert it -- the behavior of the IoFilterLCM could be a decorator.. If it is desired for an IoFilter to be destroyed when not in use, then prior to adding to the template chain, it would be wrapped in a decorator.
-pete

--(peter.royal|osi)@pobox.com - http://fotap.org/~osi

From a user point-of-view it's easier to let MINA do all of the LCM most of the time. So the decorator should only be necessary when user-defined LCM is needed. In the whole I think the init-destroy discussion currently only affects the ThreadPoolFilter because it's the only one with shared resources. Perhaps the ThreadPoolFilter should be split up in two objects, one for the filter implementation and one for the pool implementation (I think this was discussed before).

FilterChain
|
ThreadPoolFilter -> ThreadPool (TPF uses TP-Interface which can have different implementations L-F-Impl, Java5-Impl ...)
|
LoggingFilter
|
....

Mike

Reply via email to