cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marco Rolappe" <m_rola...@web.de>
Subject AW: JXTG and caching
Date Mon, 31 May 2004 23:20:55 GMT


> -----Ursprungliche Nachricht-----
> Von: dev-return-61667-m_rolappe=web.de@cocoon.apache.org
> [mailto:dev-return-61667-m_rolappe=web.de@cocoon.apache.org]Im Auftrag
> von Leszek Gawron
> Gesendet: Dienstag, 1. Juni 2004 01:05
> An: dev@cocoon.apache.org
> Betreff: JXTG and caching
>
>
> While almost everybody buried XSP it has got one great feature that JXTG
>   lacks: it's cacheable. I know that there is no way to implement
> automatic JXTG caching but what if I know on what env does jx template
> operate. If I know that it is for example only request param "abc" and
> "bcd" and session attribute "xxx" then I know when I can use cached
> entry. The question is: how?

the automatic caching could be done; collect all references to the template
context and make a ParameterValidity from their names and values.

> Should I extend JXTemplateGenerator so it is a cached component? I
> understand it gets the validity methods to implement then. So every time
> I call my extended component from flow I pass also the validity
> calculated in flow. Something like this:
>
> function niceCachedResponse() {
>    var cacheKey = cocoon.request.get( "abc" ) + "!!spacer!!"
>                      + cocoon.request.get( "bcd" ) + "!!spacer!!"
>                      + cocoon.session.getAttribute( "xxx" );
>    var pageValidity = new DeltaTimeCacheValidity( 60 * 60 * 24 );
>                                                  // one day
>    cocoon.sendPage( "view/cached.jx", {
>                                       JXTGExtCacheKey: cacheKey,
>                                       JXTGExtpageValidity: pageValidity
>                                       someOtherBizData: data } );
> }
>
> Does it have a chance to work ?

sure, I've already done something similar, but didn't yet implement the
above mentioned parameter stuff.

in the end there should be those two possibilities;
 1. set custom cacheability info for the bizdata/model/template context in
the flow/JXTG context
 2. have JXTG make a ParameterValidity from the references


Mime
View raw message