从这本书Head First Servlets and JSP, Second Edition
P257
作者说:
但是每个给定的会话ID只有一个HttpSession对象
网络应用程序,而不管应用程序分布在多少虚拟机上。
但是来自tomcat文档:Clustering/Session Replication HOW-TO
它确实说可以在多个虚拟机中复制会话:
集群已启动,并将建立成员资格
(TomcatA,TomcatB)。 TomcatB现在将向
集群中已经存在的服务器,在本例中为TomcatA。
TomcatA响应请求,并且在TomcatB开始监听之前
对于HTTP请求,状态已从TomcatA转移到
TomcatB。
我不知道该怎么理解。
最佳答案
仅复制了HttpSession
的状态(基本上是其所有可序列化的内容),以便在群集中的服务器之间保持同步,而不是对象实例本身。每个客户端服务器会话中,每个单独的服务器仍将只有一个与会话ID关联的HttpSession
对象实例。