We are attempting to run identical servlets under several Tomcat 7.0.8 nodes 
behind a load balancer (Apache 2.0.54 using mod_jk), but we have been unable to 
get sticky sessions to work.  Initial requests are forwarded to a node as 
expected, but subsequent requests from the same client are being forwarded to 
the second node ala round robin, which triggers session not found logic in our 
application and causes the connection to terminate.  Due to environment 
limitations, we cannot employ session persistence to our Tomcat instances and 
must make use of sticky sessions.  My Tomcat instances have been properly 
configured (HTTP connector commented out, AJP 1.3 connected uncommented, 
jvmRoute attribute in each instance set to the workers listed in 
workers.properties file).

Here are the mod_jk entries in my httpd.conf file:

LoadModule jk_module /<path_to>/apache/modules/mod_jk.so

JkWorkersFile /<path_to>/apache/conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel debug

JkMount /* loadbalancer

Here are the entries in my workers.property file:

worker.list=loadbalancer

worker.tomcat7A.type=ajp13
worker.tomcat7A.host=<host_name>
worker.tomcat7A.port=4911
worker.tomcat7A.lbfactor=1

worker.tomcat7C.type=ajp13
worker.tomcat7C.host=<host_name>
worker.tomcat7C.port=4931
worker.tomcat7C.lbfactor=1

worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=tomcat7A,tomcat7C
worker.loadbalancer.sticky_session=1

worker.jkstatus.type=status

What am I doing wrong?

Reply via email to