【问题标题】:Servlet, Spring: share session across multiple serversServlet,Spring:跨多个服务器共享会话
【发布时间】:2015-04-13 15:05:41
【问题描述】:

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

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

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

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

【问题讨论】:

标签: spring jsp session servlets cluster-computing


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2014-01-18
    • 1970-01-01
    • 2016-10-26
    • 2015-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-25
    相关资源
    最近更新 更多