cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Vadim Gritsenko <vadim.gritse...@verizon.net>
Subject Re: Component validities and Caching
Date Wed, 11 Jun 2003 00:56:57 GMT
Upayavira wrote:

>I'm looking into why the if-modified-since behaviour doesn't work from the 
>command line.
>
>I've found that it puts a LinkGatherer component into the pipeline, which isn't 
>cacheable, thus preventing caching. I've added a LinkGathererValidity and set the 
>key to "valid" and made isValid() always return VALID, i.e. the LinkGatherer 
>cannot ever be invalid.
>
>Having added this means that generateCachingKey returns with 
>cacheCompleteResponse = true, which is good.
>
>But then validatePipeline() checks to see if the content is in the store, but can't find

>it.
>

Even on the second run? It should cache first run and then get it from 
the cache on the second run.


>How do I make the LinkGatherer have minimal impact upon caching?
>

To achive minimal impact, pipeline implementation must be aware of this 
compoent and ignore (exclude) key & validity of it when building key & 
validity of the whole pipeline (possible solution: add 
PleaseIgnoreMeCacheableProcessingComponent(?) interface -- so that 
pipeline can safely ignore it from key generation). That's the only way 
you can get same key as the pipeline without this Link gatherer.


>Can I set it to 'ignore this component',
>

Currently, there is no way.


>or have I done the right thing by setting it to always 
>return VALID.
>

Yes, that's the right thing to do.


>Is it okay that getKey() always returns the same thing (i.e. the string 
>"valid")?
>

Yes, that's ok.


Vadim



Mime
View raw message