On Sun, Oct 14, 2012 at 10:39 PM, TArak <lifewithqm...@gmail.com> wrote:
> Dear List, > > I am having a Tomcat7 cluster of in-memory session replication. > > Tomcat-A - 192.168.1.100 > Tomcat-B - 192.168.1.101 > > I have simple application which does the login before navigating to the > pages. I have apache configured with mod_jk to handle sticky sessions. > > when I am accessing the url , http://www.example.com the session is > getting established in one of the Tomcat server, suppose it established in > Tomcat-B. I starts navigating the pages after login. > > Now I stopped Tomcat-B, in this can my session continues in Tomcat-A & > it's doesn't ask me for relogin to upon clicking in any links. > > Problem starts when I try to starts Tomcat-B, when it's completely starts > & try to navigating any link on the same session , it's starts asking for > relogin. > > > Tomcat-B --> Tomcat-A , Tomcat-B Stops , no relogin. Tomcat-B starts , > relogin > > Tomcat-A --> Tomcat-B , Tomcat-A Stops , no relogin. Tomcat-A starts , > relogin > > Below is my server.xml, context.xml, web.xml, workers.properties & > httpd.conf . > > > Server.xml: > <Engine name="Catalina" defaultHost="localhost" jvmRoute="app1"> / <Engine > name="Catalina" defaultHost="localhost" jvmRoute="app2"> > > <alias>www.example.com</alias> > </Host> > <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" > channelSendOptions="8"> > <Manager className="org.apache.catalina.ha.session.DeltaManager" > expireSessionsOnShutdown="false" > useDirtyFlag="true" > notifyListenersOnReplication="true"/> > <Channel > className="org.apache.catalina.tribes.group.GroupChannel"> > <Membership > className="org.apache.catalina.tribes.membership.McastService" > address="228.0.0.4" > port="45564" > frequency="500" > dropTime="3000"/> > <Receiver > className="org.apache.catalina.tribes.transport.nio.NioReceiver" > address="auto" > port="4000" > autoBind="100" > selectorTimeout="5000" > maxThreads="6"/> > <Sender > className="org.apache.catalina.tribes.transport.ReplicationTransmitter" > replicationMode="pooled" ackTimeout="15000" waitForAck="true"> > <Transport > className="org.apache.catalina.tribes.transport.nio.PooledParallelSender" > timeout="30000"/> > </Sender> > <Interceptor > className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/> > <Interceptor > className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/> > </Channel> > > <Valve > className="org.apache.catalina.ha.tcp.ReplicationValve" > > filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.html;.*\.css;.*\.txt;"/> > <Valve > className="org.apache.catalina.ha.session.JvmRouteBinderValve" > enabled="true" sessionIdAttribute="takeoverSessionid"/> > > <ClusterListener > className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/> > <ClusterListener > className="org.apache.catalina.ha.session.ClusterSessionListener"/> > </Cluster> > > > web.xml > > <distributable/> > </web-app> > > > context.xml > <Context distributable="true"> > > workers.properties > worker.list=loadbalancer,status > > #setup app1 > worker.app1.port=8009 > worker.app1.host=192.168.1.100 > worker.app1.type=ajp13 > worker.app1.lbfactor=50 > > #setup app2 > worker.app2.port=8009 > worker.app2.host=192.168.1.101 > worker.app2.type=ajp13 > worker.app2.lbfactor=50 > > #setup the load-balancer > worker.loadbalancer.type=lb > worker.loadbalancer.balance_workers=app1,app2 > worker.loadbalancer.sticky_session=True > worker.loadbalancer.sticky_session_force=True > > # Status worker for managing load balancer > worker.status.type=status > > httpd.conf > > JkWorkersFile conf/workers.properties > JkLogFile logs/mod_jk.log > JkLogStampFormat "[%b %d %Y - %H:%M:%S] " > JkRequestLogFormat "%w %V %T" > JkLogLevel info > JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories > > <VirtualHost *> > ServerAdmin exam...@example.com > ServerAlias www.example.com > JkMount /* loadbalancer > JkMount /status/* status > </VirtualHost> > > Has anyone faced the same issue....