【发布时间】:2015-04-13 15:05:41
【问题描述】:
假设我有一个使用 Spring 框架和 Tomcat 6 的 Java Servlet+JSP 应用程序。这个应用程序必须托管在多台机器上。如何在多台计算机之间共享 HTTP 会话?
我通常使用以下代码获取会话:
HttpServletRequest httpRequest = (HttpServletRequest) request;
HttpSession session = httpRequest.getSession();
我应该使用一些其他类型的会话(HttpSession 的自定义实现)使用一个通用的 MySQL 数据库或其他东西吗?有什么想法吗?
【问题讨论】:
-
@zmitrok 答案是好的,其他方法将所有内容写入数据库而不是在会话中保存,只需从那里使用它并再次写入数据库,在集群会话中是一种棘手的方式,因为多节点管理。其他解决方案可以在内存缓存中,例如 Hazelcast hazelcast.com 或 JCache 或 blog.caucho.com/2009/01/21/resin-40-jcache-distributed-caching
标签: spring jsp session servlets cluster-computing