Return-Path: Delivered-To: apmail-cocoon-dev-archive@www.apache.org Received: (qmail 21870 invoked from network); 22 Oct 2003 16:30:51 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (208.185.179.12) by minotaur-2.apache.org with SMTP; 22 Oct 2003 16:30:51 -0000 Received: (qmail 68059 invoked by uid 500); 22 Oct 2003 16:30:40 -0000 Delivered-To: apmail-cocoon-dev-archive@cocoon.apache.org Received: (qmail 68039 invoked by uid 500); 22 Oct 2003 16:30:39 -0000 Mailing-List: contact dev-help@cocoon.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Reply-To: dev@cocoon.apache.org Delivered-To: mailing list dev@cocoon.apache.org Received: (qmail 68026 invoked from network); 22 Oct 2003 16:30:39 -0000 Received: from unknown (HELO naomi.webworks.nl) (24.132.161.79) by daedalus.apache.org with SMTP; 22 Oct 2003 16:30:39 -0000 X-MimeOLE: Produced By Microsoft Exchange V6.0.6249.0 content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Subject: RE: RequestLifecycle components Date: Wed, 22 Oct 2003 18:30:41 +0200 Message-ID: <84F0A43A4248CE45B5C0E20F4C40779C6008F1@naomi.webworks.nl> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: RequestLifecycle components Thread-Index: AcOYt3bcNQCRGZp/TRGqTVRwDNykDwAAF0Rg From: "Unico Hommes" To: X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N =20 Berin Loritsch wrote: >=20 > Unico Hommes wrote: >=20 > >=20 > >> Ok, anyway, we could keep the GRL which can be modelled in=20 > fortress=20 > >> using a thread component (one component per thread), but=20 > skip the RLC=20 > >> which caused a lot of trouble to get it working and which=20 > might still=20 > >> cause us more trouble than it's worth. > >>=20 > >=20 > >=20 > > Hmm, AFAIU declaring a per-thread lifecycle is not enough,=20 > the handler=20 > > that implements this in Fortress is not aware of recyclable=20 > > components. What it does is give out a different instances for=20 > > different threads and the same instance for the same thread=20 > that's it.=20 > > There still needs to be some custom provision for handling=20 > Recyclables=20 > > our request type situation. But I know Berin knows more about this. > >=20 >=20 > Why would you recycle if you aren't pooling? =20 But I *am* pooling. What I meant was a situation where the same instance is handed out to the same thread until it is released. Then it can be put back into the pool again. > You can't (or=20 > at least shouldn't) rely on recycle() being called--even in a=20 > pooled environment. >=20 OK. > The whole purpose of the recycle() method is to return the=20 > component to an initial state *if* it is pooled and reused. =20 > If the component is created and destroyed (SIngleThreaded in=20 > old ECM parlance, or when the pool is overloaded), then the=20 > recycle() method is never called once. And that is with=20 > current ECM code. >=20 I know. And so it doesn't make much sense to assign a poolable component with a per-thread lifestyle handler. > Do not rely on recycle() for any transactional boundary or=20 > you *will* find your application malfunctioning under load. >=20 OK. -- Unico > --=20 >=20 > "They that give up essential liberty to obtain a little=20 > temporary safety > deserve neither liberty nor safety." > - Benjamin Franklin >=20 >=20 >=20