2011-04-28 85 views
1

我目前正在研究负载平衡我的Spring项目。我已经使用Apache Web服务器作为多个Tomcat实例的前端。我已经使用mod_jk进行负载均衡。当我运行它时,如果我关闭了一台服务器,我不得不再次登录到系统。以前我也尝试过使用Tomcat的会话示例程序和会话复制工作正常的简单示例。春季会话复制问题

这是我对Apache的httpd.conf mod_jk的部分配置:

LoadModule jk_module modules/mod_jk.so 

JkWorkersFile conf/workers.properties 
JkLogFile logs/jk.log 
JkLogLevel debug 
JkLogLevel info 
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]" 
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories 
JkRequestLogFormat "%w %V %T" 

JkMount /test balancer <-- this is the spring program 
JkMount /test/* balancer <-- this is the spring program 
JkMount /jk_status status` 

这是我workers.properties设置:

workers.tomcat_home=/worker1 
workers.java_home=$JAVA_HOME 
ps=/ 

worker.list=balancer,status 

worker.worker1.port=8009 
worker.worker1.host=localhost 
worker.worker1.type=ajp13 
worker.worker1.lbfactor=1 

worker.worker2.port=8109 
worker.worker2.host=localhost 
worker.worker2.type=ajp13 
worker.worker2.lbfactor=1 

worker.balancer.type=lb 
worker.balancer.balance_workers=worker1,worker2 
worker.balancer.method=B 
worker.balancer.sticky_session=1 

worker.status.type=status 

而且我已经把我的Tomcat的一个样本server.xml这里:http://pastebin.com/0j0ta2WA

我也加了<distributable/>标签到我的应用程序的web.xml。有没有我在这里错过,使会话复制无法正常工作?

  • 的Tomcat 5.5
  • Apache 2.2的
  • mod_jk的
  • 春2.5.6
  • JDK 1.6.0_01
+1

JDK 1.6.0_01 ouch ...最新版本是JDK 1.6.0_24 – artbristol 2011-04-28 08:11:16

回答

0

你有一个在的jvmRoute你server.xml中定义的? 这里是文档: http://tomcat.apache.org/tomcat-5.5-doc/config/engine.html 我会看你的server.xml,但链接是错误的。

+0

对不正确的链接感到抱歉,我已经更新了它。而对于jvmRoute,我已经在两个配置文件中定义了它。我还读到Spring的依赖注入问题是非复制会话问题的原因,它是正确的吗? – rpa 2011-05-16 09:02:09

+0

您的登录会话如何处理?你使用的是Apache,Tomcat或Spring特定的东西吗?或者您是否自己推出并手动添加一些内容到httpsession中? – Angus 2011-05-16 17:47:54