【发布时间】:2012-04-09 09:14:58
【问题描述】:
我在阅读一本关于 Java Servlets 的书时遇到了HTTPSessionActivationListener。规定在集群环境中,只能有一个包含特定会话 ID 的 HTTPSession 对象。假设一个集群中有 2 个节点 A 和 B -
第一个请求到达节点 A。这里创建了一个 HTTPSession S1 以及会话属性,响应返回给客户端。 同一客户端发送后续请求。此请求发送到节点 B。现在会话对象 S1 从节点 A 移动到节点 B(在节点 B 中激活并在节点 A 中钝化)。
在这种情况下,会话对象和属性是否应该是可序列化的?如果它不可序列化会怎样?
为了统计活跃会话的数量,是否应该将两个节点中的会话相加得到实际值?这通常是怎么做的?
另外我猜 ServletContext 对于每个 JVM 都是唯一的。作为 servletcontext 的一部分设置的属性是否复制到集群所有节点中的 servlet 上下文?
【问题讨论】:
标签: servlets cluster-computing