Let me step in to say this now: The way that the component model in general is for Cocoon, it is difficult to impossible to make any sitemap component ThreadSafe. The exceptions are the Reader, the Matcher, the Action, and the Selector.
Before we went Beta with Cocoon 2, I proposed that we change the interfaces for the Generator/Transformer/Serializer to return an instance of the ContentHandler or Source that is used. This would allow the Components to be ThreadSafe, and individually manage their own ContentHandler creation policies. There is an inherent problem in making the Component also an implementation of a pipeline. One of the reasons is that for simple Transformers (say one that catches <util:get-time format="hh:mm:ss"/> and substitutes it for text inline) could essentially use one ContentHandler for all threads. Furthermore, with separate setup() and generate() methods, no implementation of the SitemapComponent interface can be ThreadSafe. Period. This is limiting. All this said, I still find that the biggest limitation on scalibility is the ECM itself. The ECM started out as part of the Cocoon code-base, and for the complexity that it had was quite powerful. My commendations to Giacomo and others who wrote it. However, as experience and usage has born witness there are lessons to be learned. The approach I would like to take for the Cocoon component model is a refining of all the interfaces. Unfortunately, that would require some backwards incompatible changes. :( When I get the ContainerManager done and a new scratchpad implementation of Cocoon (as extending AbstractContainer), Main, and CocoonServlet; we can start to assess the real limitations that the current component model has with scalibility. Until then, you are going to do alot of work for only marginal gains. -- "They that give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety." - Benjamin Franklin --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]