*I have two tomcats (tomcat 6)** setup on two separate machines. I have a hardware load balancer with scheduling method configured to round robin.* ** *each tomcat recognizes the other one by saying replication member added * ** *I also made the "examples" web application (that comes with tomcat) a cluster aware application. For this "examples" application, session replication and everything works fine. This is how the log shows for this application.*
2008-11-14 16:15:41.582 [main] [INFO] org.apache.catalina.ha.session.DeltaManager - Register manager /examples to cluster element Engine with name Catalina 2008-11-14 16:15:41.582 [main] [INFO] org.apache.catalina.ha.session.DeltaManager - Register manager /examples to cluster element Engine with name Catalina 2008-11-14 16:15:41.582 [main] [INFO] org.apache.catalina.ha.session.DeltaManager - Starting clustering manager at /examples 2008-11-14 16:15:41.582 [main] [INFO] org.apache.catalina.ha.session.DeltaManager - Starting clustering manager at /examples 2008-11-14 16:15:41.582 [main] [WARN] org.apache.catalina.ha.session.DeltaManager - Manager [localhost#/examples], requesting session state from org.apache.catalina.tribes.membership.MemberImpl[tcp://{-64, -88, -46, 11}:4000,{-64, -88, -46, 11},4000, alive=159203,id={-68 -112 77 -71 -86 -30 77 94 -65 -9 108 56 48 -127 -101 -125 }, payload={}, command={}, domain={}, ]. This operation will timeout if no session state has been received within 60 seconds. 2008-11-14 16:15:41.582 [main] [WARN] org.apache.catalina.ha.session.DeltaManager - Manager [localhost#/examples], requesting session state from org.apache.catalina.tribes.membership.MemberImpl[tcp://{-64, -88, -46, 11}:4000,{-64, -88, -46, 11},4000, alive=159203,id={-68 -112 77 -71 -86 -30 77 94 -65 -9 108 56 48 -127 -101 -125 }, payload={}, command={}, domain={}, ]. This operation will timeout if no session state has been received within 60 seconds. 2008-11-14 16:15:41.691 [main] [INFO] org.apache.catalina.ha.session.DeltaManager - Manager [localhost#/examples]; session state send at 11/14/08 4:15 PM received in 109 ms. 2008-11-14 16:15:41.691 [main] [INFO] org.apache.catalina.ha.session.DeltaManager - Manager [localhost#/examples]; session state send at 11/14/08 4:15 PM received in 109 ms. 2008-11-14 16:15:41.691 [main] [INFO] org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/examples] - ContextListener: contextInitialized() 2008-11-14 16:15:41.691 [main] [INFO] org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/examples] - SessionListener: contextInitialized() *Now, I wanted to try my own application. For my own application... I want it to be a default application for the server, so I put it in webappps/ea directory and configured the context path as below in server.xml* <Context path="" docBase="ea" className="org.apache.catalina.core.StandardContext" cachingAllowed="true" ................... *Session replication is not working for this application and the log says* 2008-11-14 16:15:43.581 [main] [INFO] org.apache.catalina.ha.session.DeltaManager - Register manager /ea to cluster element Engine with name Catalina 2008-11-14 16:15:43.581 [main] [INFO] org.apache.catalina.ha.session.DeltaManager - Register manager /ea to cluster element Engine with name Catalina 2008-11-14 16:15:43.581 [main] [INFO] org.apache.catalina.ha.session.DeltaManager - Starting clustering manager at /ea 2008-11-14 16:15:43.581 [main] [INFO] org.apache.catalina.ha.session.DeltaManager - Starting clustering manager at /ea 2008-11-14 16:15:43.581 [main] [WARN] org.apache.catalina.ha.session.DeltaManager - Manager [localhost#/wa], requesting session state from org.apache.catalina.tribes.membership.MemberImpl[tcp://{-64, -88, -46, 11}:4000,{-64, -88, -46, 11},4000, alive=161203,id={-68 -112 77 -71 -86 -30 77 94 -65 -9 108 56 48 -127 -101 -125 }, payload={}, command={}, domain={}, ]. This operation will timeout if no session state has been received within 60 seconds. 2008-11-14 16:15:43.581 [main] [WARN] org.apache.catalina.ha.session.DeltaManager - Manager [localhost#/ea], requesting session state from org.apache.catalina.tribes.membership.MemberImpl[tcp://{-64, -88, -46, 11}:4000,{-64, -88, -46, 11},4000, alive=161203,id={-68 -112 77 -71 -86 -30 77 94 -65 -9 108 56 48 -127 -101 -125 }, payload={}, command={}, domain={}, ]. This operation will timeout if no session state has been received within 60 seconds. 2008-11-14 16:16:43.622 [main] [ERROR] org.apache.catalina.ha.session.DeltaManager - Manager [localhost#/ea]: No session state send at 11/14/08 4:15 PM received, timing out after 60,041 ms. 2008-11-14 16:16:43.622 [main] [ERROR] org.apache.catalina.ha.session.DeltaManager - Manager [localhost#/ea]: No session state send at 11/14/08 4:15 PM received, timing out after 60,041 ms. *in the other cluster member it says* 2008-11-14 16:15:44.218 [pool-2-thread-1] [WARN] org.apache.catalina.ha.ClusterListener - Context manager doesn't exist:localhost#/ea 2008-11-14 16:15:44.218 [pool-2-thread-1] [WARN] org.apache.catalina.ha.ClusterListener - Context manager doesn't exist:localhost#/ea ** *The problem here, I guess, is that the correct context path is localhost#/ not localhost#/ea because this is the default web app for the server... So, Somehow I need to tell tomcat to look at localhost#/ instead of localhost#/ea....* ** *Any help is very much appreciated...* ** *Thanks in advance* *rohit* **