tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Carrillo, Dan" <dcarri...@idanalytics.com>
Subject sessions replication
Date Wed, 19 Sep 2012 15:58:42 GMT
Hi folks,
My sessions are replicating across the cluster as indicated by my session listener debug output.
 E.g I can see the session created/destroyed messages in each respective log.
I have a Service object that is serializable, which contains a String member variable (x)
which is not initialized; null.  As my load balancer round-robins the requests to each of
these servers, each successfully retrieves the service instance from the session.  Now, when
service.x is set at some point in the workflow, I expect the other members to receive this
updated object since it resides in the session.  However, I'm finding that it is not, it remains
null in all other containers.

The tomcat config (http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html) says that "..For
each request the entire session is replicated, this allows code that modifies attributes in
the session without calling setAttribute or removeAttribute to be replicated."

Can someone clarify whether I do in fact need to reset the service object on the session in
order for it to replicate?

Thanks!

<Engine name="Catalina" defaultHost="localhost" jvmRoute="id2">
        <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
                 channelSendOptions="6">

          <Manager className="org.apache.catalina.ha.session.DeltaManager"
                   expireSessionsOnShutdown="false"
                   notifyListenersOnReplication="true"/>

          <Channel className="org.apache.catalina.tribes.group.GroupChannel">
          <Membership className="org.apache.catalina.tribes.membership.McastService"
                   address="231.10.12.6"
                   port="35006"
                   frequency="500"
                   dropTime="3000"/>
          <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
                   address="auto"
                   port="8117"
                   selectorTimeout="100"
                   maxThreads="6"/>

            <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
              <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
            </Sender>
            <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
            <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
            <Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/>
          </Channel>

          <Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
                 filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>
          <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
        </Cluster>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message