cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeremy Quinn <jer...@apache.org>
Subject error handling in aggregations
Date Thu, 16 Mar 2006 18:00:59 GMT
Hi All

I am working on a project that uses a lot of aggregations in the  
sitemap, using <map:aggregate>.

My aggregated parts all call cocoon:// pipelines in other subsitemap,  
via the top level sitemap, where my top-level sitemap is not the one  
that comes built-in with Cocoon, but is my own, mounted directly from  
cocoon.xconf (this does not seem to make any difference).

I have one top-level <map:handle-errors>.

When an exception occurs in one of the aggregate parts eg.  
o.a.e.s.SourceException, this is what appears to happen :
	the outer pipeline carries on regardless, producing normal content  
(just missing that part)
	the error-handler outputs it's content

Result : two consecutive <html/> pages in one request !!

I have tried every combination I can think of, in terms of the  
placement of other <map:handle-errors>s in the other subsitemaps, or  
their pipelines. All result in multiple html pages in one request.

I am working around this by having a <map:handle-errors> that outputs  
the simplest possible html '<br/>', which gets added after the  
closing </html> tag of my page, but does not seem to cause problems  
in the browser.

I am actually using Cocoon 2.1.7, but I see little difference between  
ContentAggregator.java in either version.

I have either misconfigured my sitemap to cause this behaviour, or  
there are bugs in the aggregator.

What I would expect to happen if an aggregated part throws an  
exception, is that the output of the <map:handle-errors> would  
replace the content of that one failed part.

Has anyone else experienced this problem?


Thanks

regards Jeremy
Mime
View raw message