【问题标题】:Spring Session Replication ProblemSpring Session 复制问题
【发布时间】:2011-08-14 12:00:59
【问题描述】:

我目前正在研究我的 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

我还在我的应用程序的web.xml 中添加了&lt;distributable/&gt; 标签。我在这里错过了什么导致会话复制无法正常工作吗?

  • Tomcat 5.5
  • Apache 2.2
  • mod_jk
  • 春季 2.5.6
  • JDK 1.6.0_01

【问题讨论】:

  • JDK 1.6.0_01 哎哟...最新的是JDK 1.6.0_24

标签: apache spring tomcat session-replication


【解决方案1】:

您的 server.xml 中是否定义了 jvmRoute? 以下是文档: http://tomcat.apache.org/tomcat-5.5-doc/config/engine.html 我会查看您的 server.xml,但链接错误。

【讨论】:

  • 抱歉链接不正确,我已经更新了。对于 jvmRoute,我在两个配置文件中都定义了它。我还读到Spring的依赖注入问题是导致不可复制会话问题的原因,对吗?
  • 您的登录会话是如何处理的?您使用的是 apache、tomcat 或 spring 特定的东西吗?还是您自己动手并在 httpsession 中手动添加了一些内容?
猜你喜欢
  • 2016-09-12
  • 2011-03-13
  • 2018-02-18
  • 2019-10-15
  • 2011-12-19
  • 2018-03-22
  • 2018-10-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多