On Thu, 2008-01-31 at 21:41 +0100, Reinhard Poetz wrote: > Thorsten Scherler wrote: > > Hi all, > > > > we have build a webapp based on cocoon 2.2. Everything is working fine > > if a single person is using the app, but as soon as we have concurrent > > user the code fails with NPE in different lines of the code. > > > > My questions are: > > Every pipeline is thread safe, right? > > The mounts to the different servlet (blocks) is synchronized, right? > > Is there a connection timeout for inner block communications? > > > > The architecture is as follow: > > main webapp - mounts dispatcher sitemap (from block) > > > > Main match: > > <map:match pattern="**.html"> > > <map:generate src="lm://resolve.structurer.{1}" type="jx"> > > <map:parameter name="lenient-xpath" value="true"/> > > <map:parameter name="getRequest" value="{1}"/> > > <map:parameter name="contextPath" > > value="{request:contextPath}"/> > > <map:parameter name="getRequestExtension" value="html"/> > > </map:generate> > > <map:transform type="dispatcher"> > > <map:parameter name="cacheKey" value="{0}"/> > > <map:parameter name="validityFile" > > value="lm://resolve.structurer.{1}"/> > > <map:parameter name="request" value="{1}"/> > > <map:parameter name="type" value="html"/> > > <map:parameter name="hooksTransformer" > > value="lm://hooks-to-html.xsl"/> > > </map:transform> > > <map:transform src="lm://namespace-stripped"/> > > <map:transform src="lm://strip-dispatcher-remains-html.xsl"/> > > <map:serialize type="xhtml"/> > > </map:match> > > Have you made sure that your dispatcher transformer is configured correctly? > If > it is *not* threadsafe, you have to use the "prototype" scope. Otherwise you > can > use the "singleton" scope (which is actually the default!).
This is what I always thought and how it is in 2.1 and the old 2.2. version of cocoon that forrest is using. <bean id="dispatcher" name="org.apache.cocoon.transformation.Transformer/dispatcher" class="org.apache.forrest.dispatcher.transformation.DispatcherTransformer"> <property name="manager" ref="org.apache.avalon.framework.service.ServiceManager"/> </bean> We made a test with forrest trunk and this fixed the errors but before migrating the app I will test with defining the "singleton" scope. Cheers and will let you know whether it fixes it. salu2 [1] http://tinyurl.com/37nh8h > -- Thorsten Scherler thorsten.at.apache.org Open Source Java consulting, training and solutions