Servlet,Spring:跨多个服务器共享会话

时间:2015-02-12 18:21:51

标签: spring jsp session servlets cluster-computing

假设我有一个使用Spring框架和Tomcat 6的Java Servlet + JSP应用程序。这个应用程序必须托管在多台机器上。如何跨多台计算机共享HTTP会话?

我通常使用此代码获取会话:

HttpServletRequest httpRequest = (HttpServletRequest) request;
HttpSession session = httpRequest.getSession();

我是否应该使用常见的MySQL数据库或其他东西使用其他类型的会话(HttpSession的自定义实现)?有什么想法吗?

1 个答案:

答案 0 :(得分:1)

如果要使用共享HTTP会话存储,则需要覆盖所使用的应用程序服务器中的会话管理器。这是Tomcat 8的一个链接,可以给你一个想法 - http://tomcat.apache.org/tomcat-8.0-doc/config/manager.html

要回答问题的“应该”部分 - 您不必这样做。您可以在负载均衡器上使用基于会话cookie的“粘性”选项作为共享cookie存储的替代方法。