cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oscar Picasso <oscgoo...@yahoo.com>
Subject Re: Caching and aggregate
Date Wed, 24 Mar 2004 13:50:08 GMT
> Alternatively (and maybe more easily), are you in a position to retrieve 
> 2.1.5 HEAD and test your case there?

Same problem with 2.1.5 HEAD.

> How do you calculate your cachekey in the log-on component?

The log-on component is a VelocityGenerator subclass.
The key is based on some request attributes that are
chosen upon configuration of the component.

example:
<map:generator usecache="false" label="content"
               logger="xenata"  caching-attributes="is-logged"
               name="loggin-velocity"
              
src="org.apache.cocoon.generation.RequestAttributesCacheableVelocityGenerator"/>

The relevant attribute is 'caching-attributes'
which means in this case that the RequestAttributesCacheableVelocityGenerator
will look for a request attribute named 'is-logged' to compute
the key. (It uses also the name of the velocity template).

The 'is-logged' attribute is a Boolean that is set upper in the pipeline 
inside an action. The action sets correctly the 'is-logged'
attribute. 


> The cachekey that is used for aggregated content is composed of the 
> individual key-parts of the aggregation, i just have the feeling that it 
> does not get invalidated properly sometimes.

That what I thought. However, looking at my log files there is something that
I don't understand:

++ The 'log component' key

DEBUG   (2004-03-24) 08:07.12:006   [sitemap] (/cocoon/xenata/one)
http8080-Processor25/AbstractCachingProcessingPipeline: Found cached response
for 'one/home-glou/login-status.xml' using key:
PK_G-loggin-velocity-{attributes={is-logged=false},
source=file:/mnt/desktop/home/jboss/workspace/utils/docs/login-status.xvt}

++ The aggregate key

DEBUG   (2004-03-24) 08:07.12:025   [sitemap] (/cocoon/xenata/one)
http8080-Processor25/AbstractCachingProcessingPipeline: Found cached response
for 'one' using key:
PK_G-<aggregator>-CA(:site<>)P=false:cocoon://utils/path-steps-factory?pipelinehash=-3582795169034738359;P=false:file:/mnt/desktop/home/jboss/workspace/xenata/conf/toc.xml;P=false:cocoon://xenata/one/home-glou/content.xml?pipelinehash=-3880234879657994098;P=false:cocoon://utils/one/home-glou/login-status.xml?pipelinehash=8060913660035705947;_T-xslt-cocoon://utils/stylesheets/structure.xsl?pipelinehash=-6754528278973152800;locale=en;content-type=content_T-i18n-dicts?en___T-xslt-cocoon://utils/stylesheets/skin.xsl?pipelinehash=139531528648284058;static-base-uri=http://www.xenata.com:8080/static/xenata_T-encodeURL-1_S-xhtml-transitional-1
D

As you can see the 'log component' key is not included in the aggregate key
instead it uses something like 
P=false:cocoon://utils/one/home-glou/login-status.xml?pipelinehash=8060913660035705947;

By the way, what is the meaning of 'P=false'?


Attachement: the RequestAttributesCacheableVelocityGenerator and its
subclass.

__________________________________
Do you Yahoo!?
Yahoo! Finance Tax Center - File online. File on time.
http://taxes.yahoo.com/filing.html
Mime
View raw message