Hello everybody, First of all, to avoid any misunderstandings, below problems relate to applications that I did not write, neither do I exactly know the implementation of them. Although, if required, I can ask the programmer for more information.
That being said, the problem that I am seeing is that the application that I deployed on a Tomcat 5.5.27 cluster is not correctly handling session replication. (The application works perfectly on a single server). The reason for thinking this is that the application fails, but only at irregular intervals. When I press F5, then the page eventually comes true. As said before, this does not happen in a single server environment. According to the Tomcat logs, I can see that my request is being served by Tomcat1 and by Tomcat2, and vice versa. My server.xml configuration: <Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster" managerClassName="org.apache.catalina.cluster.session.DeltaManager" expireSessionsOnShutdown="false" useDirtyFlag="true" notifyListenersOnReplication="true" clusterLog="true" clusterLogName="clusterlog"> <Membership className="org.apache.catalina.cluster.mcast.McastService" mcastAddr="228.0.0.6" mcastPort="45566" mcastFrequency="500" mcastDropTime="3000"/> <Receiver className="org.apache.catalina.cluster.tcp.ReplicationListener" tcpListenAddress="172.18.0.39" tcpListenPort="4001" tcpSelectorTimeout="100" tcpThreadCount="25"/> <Sender className="org.apache.catalina.cluster.tcp.ReplicationTransmitter" replicationMode="pooled" ackTimeout="15000" keepAliveTimeout="20000" waitForAck="true"/> <Valve className="org.apache.catalina.cluster.tcp.ReplicationValve" filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.* \.html;.*\.css;.*\.txt;"/> <!-- <Deployer className="org.apache.catalina.cluster.deploy.FarmWarDeployer" tempDir="/tmp/war-temp/" deployDir="/tmp/war-deploy/" watchDir="/tmp/war-listen/" watchEnabled="false"/>--> <ClusterListener className="org.apache.catalina.cluster.session.ClusterSessionListener"/> </Cluster> Something interesting that I figured out is that if I change the managerClass from managerClassName="org.apache.catalina.cluster.session.DeltaManager" to managerClassName="org.apache.catalina.cluster.session.SimpleTcpReplicationManager" then the application works fine. (It keeps working when I set useDirtyFlag to false). One would think that the DeltaManager is just not replicating, but I can see the following messages in catalina.out: catalina.out:INFO: Manager[/Application1], requesting session state from org.apache.catalina.cluster.mcast.McastMember[tcp://172.18.0.40:4001,catalina,172.18.0.40,4001, alive=73627]. This operation will timeout if no session state has been received within 60 seconds catalina.out:INFO: Manager[/Application1], session state received in 104 ms. Currently the only information that I have about the application is that it's using JSF and session beans. The developer said he does not need to explicitly put session.SetAttribute(whatever), since this is automatically taken care of by the session bean object. I'm not a Java programmer, so I'm not sure whether that is correct. I would really appreciate if someone could point me into the right direction. Btw. I cannot change the managerclass to SimpleTcpReplicationManager, as I got other applications on the same server that start failing if that manager is used. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org