cocoon-users mailing list archives

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

Folks,

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, 
starting
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:pipeline>
    <map:match pattern="index">
        <map:aggregate element="html">
            <map:part src="cocoon:/index-header"/>
            <map:part src="cocoon:/index-body"/>
        </map:aggregate> 
    </map:match>

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

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

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

<map:pipeline>
    <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,
Sandor



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


Mime
View raw message