cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Berin Loritsch <blorit...@apache.org>
Subject Re: AW: [C2]: Component Pooling and recycling
Date Wed, 21 Feb 2001 13:48:16 GMT
Carsten Ziegeler wrote:
> 
> > * Paul Russell wrote
> >
> > * Carsten Ziegeler (cziegeler@sundn.de) wrote :
> > > > * Carsten Ziegeler (cziegeler@sundn.de) wrote :
> > > > > I would suggest to change the behaviour of 3. and 4. that Recyclable
> > > > > sitemap components are always recycled and that Poolable sitemap
> > > > > components are alyways returned to the pool - regardless if they
> > > > > declare PoolClient or not.
> > > > How do you propose doing the last?
> > > The ResourcePipeline currently gets the sitemap components out of the
> > pool
> > > and puts them back if they declare PoolClient. I would add at that point
> > > an additional test for Poolable and Recyclable. The
> > SitemapComponentSelector
> > > must be extended by a put-method() for this.
> >
> > Uhuh. Might make more sense to add the 'put' method to the
> > CocoonComponentSelector, which is where all the pooling code seems to
> > be.
> >
> Ohh, yes the CocoonComponentSelector is the one.
> 
> > Other than that, I have no major problem with it. I still think the
> > Avalon ComponentManager interface needs changing so that it contains a
> > 'put' method, however. Anything that can 'compose' a component should be
> > able to 'put' it back afterwards. Everything we're doing to get around
> > this looks like a hack to me.
> >
> Yes, exactly. This hacking is the reason why I am asking first - I thought that I perhaps
had overlooked something.
> 
> So I think, we should do the hack first and then when a corrected ComponentManager is
available we can remove it.

That was my thinking when I created the PoolClient interface.  I would
really like the ComponentManager/Selector interfaces to remain "pure".
Especially since that is the way they are cast in the whole of Cocoon.
Your proposed solution will cause us to be required to cast as
CocoonComponentSelector--which is not a guarantee.  We should lobby
Avalon for the change to the official interface--and use PoolClient
in the mean time.

Mime
View raw message