Ok, it works as expected. Every different parameter and parameter value causes a new cached object. Strange. The test was done with Cocoon 2.0.4 not so long ago - and this contains the same code.
We had performance problems in our application and searched for the causers. One (expected) issue was the passing of parameters to the transformer. But, surprise, only one object per stylesheet was on the store. Maybe we have to redo the test ...


FYI: We have our self-written non-cachable generator in use. The performance issue was solved by switching to non-caching pipeline. Improvement by factor 10 for little XML files (600 ms to 60 ms). And we switched to non-caching streaming pipelines too (readers) to circumvent the expires header for cached responses (http://nagoya.apache.org/bugzilla/show_bug.cgi?id=17924), what improved the performance feelings of the users. The application is not used by many users, so the browser caching of the resources is much more important than server side caching. By using Mozilla XUL almost everything is static besides the RDF datasources.

Joerg

The benefit of this is that all parameters are available to your stylesheet automatically, but there is a side-effect with respect to caching to consider. With use-request-parameters, the pipeline is cached for every combination of all your request parameters which you may not want. Say you use param1=value1&param2=value2 where this pipeline only uses param1 and another pipeline (aggregated or cincluded) uses param2. With use-request-parameters, you will get a different cache entry for param1=value1&param2=value3 when you really don't need it. Might not matter in your case, but something to keep in mind.

Geoff

Hello Geoff,


are you sure about this? Is there any difference between using request parameters and passing parameters from sitemap? I always thought that the parameter values passed to the stylesheet will influence the caching, but that's not true. I controlled it via the StatusGenerator. There is only one object per stylesheet in the store.
Maybe it's different for request parameters.


Joerg

No, I'm not sure - it's been a while since I've looked into it. Can anyone confirm either way?


I can confirm that, from looking at the source of the TraxTransformer, particularly getLogicSheetParameters() which is called by getKey(), that the code is in place to do what has been described. The code includes all parameters to the transformer when building the key. Then, if use request parameters is specified, it adds all request parameters to the key. Then the same for sessions and cookies. Whether or not it works, now that's another question.

Regards, Upayavira


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



Reply via email to