Return-Path: Delivered-To: apmail-cocoon-dev-archive@www.apache.org Received: (qmail 92403 invoked from network); 22 Aug 2008 12:20:31 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 22 Aug 2008 12:20:31 -0000 Received: (qmail 77423 invoked by uid 500); 22 Aug 2008 12:20:29 -0000 Delivered-To: apmail-cocoon-dev-archive@cocoon.apache.org Received: (qmail 77328 invoked by uid 500); 22 Aug 2008 12:20:29 -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 List-Id: Delivered-To: mailing list dev@cocoon.apache.org Received: (qmail 77317 invoked by uid 99); 22 Aug 2008 12:20:29 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 22 Aug 2008 05:20:29 -0700 X-ASF-Spam-Status: No, hits=1.2 required=10.0 tests=SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (athena.apache.org: local policy) Received: from [68.230.240.9] (HELO eastrmmtao103.cox.net) (68.230.240.9) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 22 Aug 2008 12:19:30 +0000 Received: from eastrmimpo03.cox.net ([68.1.16.126]) by eastrmmtao103.cox.net (InterMail vM.7.08.02.01 201-2186-121-102-20070209) with ESMTP id <20080822121858.MHMZ22820.eastrmmtao103.cox.net@eastrmimpo03.cox.net> for ; Fri, 22 Aug 2008 08:18:58 -0400 Received: from [192.168.0.100] ([72.205.34.46]) by eastrmimpo03.cox.net with bizsmtp id 5QJy1a0060zjV5C02QJy04; Fri, 22 Aug 2008 08:18:58 -0400 Message-Id: From: Vadim Gritsenko To: dev@cocoon.apache.org In-Reply-To: <1219390515.19104.48.camel@thorsten-desktop> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v926) Subject: Re: [2.1] AbstractCachingProcessingPipeline and cocoon CLI Date: Fri, 22 Aug 2008 08:18:58 -0400 References: <1219321083.19104.8.camel@thorsten-desktop> <1219390515.19104.48.camel@thorsten-desktop> X-Mailer: Apple Mail (2.926) X-Virus-Checked: Checked by ClamAV on apache.org On Aug 22, 2008, at 3:35 AM, Thorsten Scherler wrote: > How about: > } else { > - Object lock = > env.getObjectModel().get(HttpEnvironment.HTTP_REQUEST_OBJECT); > + Object lock = > env.getObjectModel().get(ObjectModelHelper.REQUEST_OBJECT); > try { > transientStore.store(lockKey, lock); > } catch (IOException e) { > > This way we always lock the same object. Exactly this thing I was trying to explain - it will not work because instead of using top level request you are suggesting to use current sub-request. Take a look at EnvironmentWrapper (which is used e.g. in SitemapSource): // create new object model and replace the request object Map oldObjectModel = env.getObjectModel(); if (oldObjectModel instanceof HashMap) { this.objectModel = (Map)((HashMap)oldObjectModel).clone(); } else { this.objectModel = new HashMap(oldObjectModel.size()*2); Iterator entries = oldObjectModel.entrySet().iterator(); Map.Entry entry; while (entries.hasNext()) { entry = (Map.Entry)entries.next(); this.objectModel.put(entry.getKey(), entry.getValue()); } } this.request = new RequestWrapper(ObjectModelHelper.getRequest(oldObjectModel), requestURI, queryString, this, rawMode); this.objectModel.put(ObjectModelHelper.REQUEST_OBJECT, this.request); Vadim