Hi, I have a tomcat cluster ( with tomcat 1 and tomcat 2 ) with a hardware load balancer infront. Session replication only works in some scenario and does not in others. Here is the scenario where it works...
1) Start tomcat 1 2) access the web application ( session gets created in tomcat 1 ) 3) Start tomcat 2 ( session gets replicated onto tomcat 2 ) 4) kill tomcat 1 5) access the web application ( works fine ) N here is the scenario where it does not work 1) Start tomcat 1 2) Start tomcat 2 3) create atleast once session on tomcat 1 and tomcat 2 by accessing the web application 4) kill any tomcat...... lets say tomcat 1 5) try to access the session that got created in tomcat1 ( logs out from the we application...session attributes are lost ) and also gives the below warning on tomcat 1 Tribes-MembershipReceiver] [WARN] org.apache.catalina.tribes.membership.McastService - Error receiving mcast package. Sleeping 500ms java.net.SocketException: socket closed at java.net.PlainDatagramSocketImpl.receive0(Native Method) at java.net.PlainDatagramSocketImpl.receive(PlainDatagramSocketImpl.java:136) at java.net.DatagramSocket.receive(DatagramSocket.java:712) at org.apache.catalina.tribes.membership.McastServiceImpl.receive(McastServiceImpl.java:314) at org.apache.catalina.tribes.membership.McastServiceImpl$ReceiverThread.run(McastServiceImpl.java:414) 2008-11-20 17:08:29.999 [Tribes-MembershipReceiver] [WARN] org.apache.catalina.tribes.membership.McastService - Error receiving mcast package. Sleeping 500ms java.net.SocketException: socket closed at java.net.PlainDatagramSocketImpl.receive0(Native Method) at java.net.PlainDatagramSocketImpl.receive(PlainDatagramSocketImpl.java:136) at java.net.DatagramSocket.receive(DatagramSocket.java:712) at org.apache.catalina.tribes.membership.McastServiceImpl.receive(McastServiceImpl.java:314) at org.apache.catalina.tribes.membership.McastServiceImpl$ReceiverThread.run(McastServiceImpl.java:414) 2008-11-20 17:08:29.999 [main] [INFO] org.apache.coyote.http11.Http11Protocol - Stopping Coyote HTTP/1.1 on http-8080 I have my logs configured to debug level and all the messages I see from tribes show that the session is being replicated successfully. Please let me know if any of those logs are needed for better understanding. I am also monitoring tomcats with JConsole and it shows that the sessions are getting replicated. Thanks for your help Rohit