>> 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).
>
> so this caching-attributes is a comma separated list of both request and 
> pipeline-set attributes that should be used during key calculation?

Not quite sure what you mean by 'pipeline-set attributes' but
'caching-attributes' contains only the names of the
request attributes that are to be used for key generation.

However the key generation also uses the velocity template
file name that is provided at setup time.

>> 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. 
>> 
> In RequestAttributesCacheableVelocityGenerator you set String[] 
> cachingAttributeNames in configure(), are you aware that configure is 
> called only once during component setup and never afterwards? Could this 
> be affecting your logic?

No, it shouldn't. For a particular component definition (let say
here 'login-velocity') the key should always use the same attributes
names. However as the key uses both the attribute name and value, the key
is different if the values for a same attribute is different between
two requests.


Let's summarize:

+ configure --> we tell the component which attribute names to use
for each request. Let'say we configure cached-attribute="first-attr,
second-attr"

+ setup --> the input source is set in the component for use by getKey.
Let's say it's 'file:/my-velocity-template.xvt'

+ getKey --> 
return a HashMap:

"source"      : "file:/my-velocity-template.xvt"
"first-attr"  : The value of the request attribute called "first-attr"
"second-attr" : The value of the request attribute called "second-attr"

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

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to