On Thu, 14 Feb 2002 00:08, Sylvain Wallez wrote:
> >* In phoenix there is left emphasis on request based components and more
> > on persistent service components. ie You will never see any Block use
> > ComponentManager.release() because it does not make sense in the context
> > but I suspect at then end of each request a bunch of resources are
> > released back to Cocoons container.
>
> Yes, mainly because they're not ThreadSafe. So, if I understand
> correctly, a block is implicitly considered as thread safe and doesn't
> use the lifestyle interfaces (ThreadSafe, SingleThreaded, etc).
Yep. Where a service needs to provide non ThreadSafe components they do it by
returning a non-threadsafe component from one of the service methods. ie The
Phoenix way would be to do something like
interface ParserManager
{
Parser aquireParser();
void releaseParser( Parser parser );
}
where cocoon would directly get parser component.
> >Yep in Phoenix you can provide multiple services - usually different
> > versions of same sort of service but useful to different users. For
> > instance a Block may suppoort the FooService, ExtendedFooService and
> > FooMBean - each of which is used by different clients but has the same
> > general idea
>
> I guess this mean the block implements the 3 interfaces, or that these
> interfaces extend each other, right ?
A bit of both. A likely arrangement would be
interface FooService {}
interface ExtendedFooService extends FooService {}
interface FooMBean {}
but it is largely up to the implementors.
--
Cheers,
Pete
-----------------------------------------------------
First, we shape our tools, thereafter, they shape us.
-----------------------------------------------------
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>