cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sandor Spruit <>
Subject Caching mysteries (was: Re: Caching: do I interpret ...)
Date Wed, 31 Aug 2005 09:36:29 GMT


I am trying to speed-up my app (a search engine) by using caching. The idea
is to to run a query once, and allow quick browsing through multiple 
pages of
results without redoing the query - which is an expensive processing 
step. It
does not seem to work as expected, in a way I do not understand! :-(

My custom Cocoon components all use the query as their key, and return a
NOPValidity object: no constraints, use the cache unless the query changes.

I have isolated the query processing in a separate pipeline definition, 
with my custom generator. If I call on this pipeline, caching seems to 
work as
expected. However, my query results are part of an aggregated page built-up
in a top-down fashion:

    <map:match pattern="index">
        <map:aggregate element="html">
            <map:part src="cocoon:/index-header"/>
            <map:part src="cocoon:/index-body"/>

    <map:match pattern="index-header">
        <map:generate type="jx" src="index-header.jx"/>

    <map:match pattern="index-body">
        <map:aggregate element="body">
            <map:part src="cocoon:/index-form"/>
            <map:part src="cocoon:/index-process-query"/>

    <map:match pattern="index-form">
        <map:generate type="jx" src="index-form.jx"/>

    <map:match pattern="index-process-query">

Somehow, the "results" pipeline regularly runs again from the start,
even when my query hasn't changed a bit! Why?! When browsing
through search results, a new request gets done (flowscript loop),
with only a "page" request attribute changing. This attribute is used
at the end of the index-process-query pipeline (paginator). Could
anybody suggest what I'm overlooking here?

hints much appreciated,

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message