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

Reply via email to