Please put this message on hold. I might have expressed myself in haste.
First I need to perform another test!
Jos
On Tue, 2010-03-09 at 13:17 +0100, Jos Snellings wrote:
> Yes, Reinhard, I agree very much with the observation that everything
> that influences the output must go in the cache key.
> OK, I use the user group again, because I am convinced that this will be
> of use to the whole cocoon community: here I go.
> 
> I write a cocoon Generator. It extends AbstractSAXGenerator and
> implements CachingPipelineComponent. In order to make good use of the
> caching mechanism, we use a "ParameterCacheKey", whereby we will use the
> request parameters to construct the cache key. This makes sense.
> 
> Consider the methods setup() and constructCacheKey:
> 
> public void setup(Map<String, Object> parameters) {
>                request = HttpContextHelper.getRequest(parameters);
>                session = request.getSession(true); 
>                
>       }
>       
> and
> 
> public CacheKey constructCacheKey() {
>            if (request == null) {
>                       System.out.println("Sapperment: request is null when
> constructCacheKey is called...");
>                       }
>           Map<String,String> parameters = request.getParameterMap();
>           ParameterCacheKey cacheKey = new ParameterCacheKey(parameters);
>           return cacheKey;
>           }
> 
> 
> It is observed now that constructCachekey is called before setup is. :-(
> What to do? 
> Let's find a way and put it as recommended practice, for this will
> affect virtually any future cocoon app.
> Ideas?
> 
> Jos
> 
> 
> 
> > Reinhard Poetz commented on COCOON3-53:
> > ---------------------------------------
> > 
> > The cache key has to contain everything that influences the output produced 
> > by the generator.
> > 
> > I have no idea why HTML serialization makes a difference, but again, the 
> > logs should give you some hints.
> > 
> > > Cocoon 3: XMLSerializer caches all
> > > ----------------------------------
> > >
> > >                 Key: COCOON3-53
> > >                 URL: https://issues.apache.org/jira/browse/COCOON3-53
> > >             Project: Cocoon 3
> > >          Issue Type: Bug
> > >          Components: cocoon-pipeline
> > >            Reporter: Jos Snellings
> > >
> > > After startup, any pipeline/matcher ending in an xml-serializer will
> > > produce the output of the first request after server startup, regardless 
> > > of the url, let alone parameters.
> > > So the first xml pipe that is activated produces the expected output.
> > > All subsequent calls will echo that output, whatever the url or 
> > > parameters.
> > > It takes a server restart to make a pipeline ending in an xml serializer 
> > > work again.
> > 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@cocoon.apache.org
> For additional commands, e-mail: users-h...@cocoon.apache.org
> 
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@cocoon.apache.org
For additional commands, e-mail: users-h...@cocoon.apache.org

Reply via email to