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?

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 ?
        Leszek Gawron

Reply via email to