Update :
Default parallel inclusion seems to work fine with any number of threads.

To workaround the last point of my previous email (parallel inclusion of 
"external" URLs), I made a XSP wrapper which is a XSP to include locally 
(through "cocoon:/"), though enabling parallelism, which simply includes 
external URL.

When I use this XSP to wrap all my external inclusions, parallelism do work but 
limits the parallelism to 2 threads.

Here is an extract of the content of this wrapper XSP :

<content>

<xsp:logic>

final String myURL = <util:get-sitemap-parameter name="my_url"/>;

final String xspRef = request.getParameter(CocoonURLUtils.PARAM_XSP_REF);

final String urlQuery = CocoonURLUtils.getURLQuery(request);

<i:include>

<xsp:attribute 
name="src"><xsp:expr>myURL</xsp:expr>/<xsp:expr>xspRef</xsp:expr><xsp:expr>urlQuery</xsp:expr></xsp:attribute>

</i:include>

</xsp:logic>

</content>


Thanks to anyone who could explain me why do i have this behaviour.
Christophe.

 
From: Christophe Fondacci 
Sent: Thursday, June 11, 2009 10:26 AM
To: users@cocoon.apache.org 
Subject: IncludeTransformer: 2 parallel threads only ?


Hello all,

I am currently working with the parallel inclusion through the 
IncludeTransformer. Our website is based on Cocoon 2.1.11.
It works fine and we truly like this feature, but I notice some strange 
behaviour :
  a.. I have a XSP page with 4 "i:include" inclusions. We configured the 
include transformer in the sitemap to enable parallelism. 
  b.. I placed breakpoints on every included page to see how cocoon processes 
the inclusions. 
  c.. When I try to generate this page, it seems like inclusions are made 2 by 
2. I see 2 of my breakpoints being reached, the others being reached only after 
completion of these first inclusions. The weird thing is that the order seem to 
change randomly : sometime i got inclusion 1 and 4 first, sometime 1 and 2, 
etc. I would have expected to see my 4 breakpoints being reached in 4 distinct 
threads...
Could someone explain to me if it is possible to include these 4 elements in 4 
parallel threads or whether there are some limitations or restrictions on the 
parallelism ?


The other thing (less important since i found a workaround) is that parallelism 
seem to only work when referencing local elements through the cocoon protocol 
(URI like "cocoon:/"). As soon as we reference inclusions through "external" 
URLs (URI like "http://";), every inclusion seem to be processed sequentially.
Could you confirm this is the expected behaviour ? If someone can explain me 
why it is working this way I would be very interested.


Thank your very much for your help / time
& keep up the good work !

Christophe.

Reply via email to