cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Carsten Ziegeler" <cziege...@s-und-n.de>
Subject RE: [RT] Serviceable considered harmful (was Re: XSP not workinginCVS head?)
Date Tue, 18 May 2004 09:29:33 GMT
Sylvain Wallez wrote:
> <SNIP HiveMind Pooling>
> 
> This is a solution for RequestLifecycle component, but 
> unfortunately doesn't answer all cases that are needed in 
> Cocoon. Consider for example transformers. If transformer 
> pools are managed on a object-per-request basis, we simply 
> cannot chain two transformers of the same kind in a pipeline!

You can :) If you can manage to get two proxies you can do this.
So, for example, if a lookup would return such a proxy and you
do two lookups it should work.

> >>Finally, what frightens me with Spring configuration is the need to 
> >>explicitely declare all dependencies. Imagine the size of a 
> >>Spring-style cocoon.xconf...
> >>    
> >>
> >And how can you do the highly dynamic composition of our pipelines?
> >
> >Every technique has it's weaknesses. Interface injection 
> (Avalon) has 
> >the problem that your components depend on the framework and 
> >setter/constructor injection have other problems. So imho you can't 
> >simply say "this or that is the right way". There are 
> situations where 
> >one or the other makes more sense. So why not having a 
> container that 
> >can simply both?
> >  
> >
> 
> +1. ServiceSelectors and object pooling are areas where bean property
> injection simply cannot work (although I would love to be 
> proven wrong!). Poolables can be partly avoided either using 
> pool management events (e.g. request start/stop) or 
> refactoring to factories, but ServiceSelectors require a 
> particular API.
> 
Yepp. I'm thinking of implementing the pooling proxies in Avalon,
so you don't have to care anymore if you're using a thread safe
or a pooled component or whatever. Just look it up, store it,
use it, and release on shutdown.

Fortress e.g. is already able to do constructor and setter
injection as well and with the proxy handling (based on 
request/response cycles of course), you have everything you
need.

Carsten


Mime
View raw message