我有一个 Spring bean,它将用于存储用户详细信息或任何其他相关信息。 我将此 bean 存储在 session 级别。
<bean id="userSession" class="com.test.SessionImpl" scope="session">
<aop:scoped-proxy/>
</bean>
现在我的服务器很少,我想使用 SimpleTcpCluster 构建具有 session 复制的集群。
当我更新集群节点之一上的 bean 时,它会被复制到其他节点吗? 我对此感到担忧,因为该 bean 驻留在 session 级别,但不在 session 本身中。如果我错了请纠正我。
最佳答案
只要 Tomcat 可以复制该对象(即该对象是可序列化的),那么该 bean 就会被复制。它作为 session 的属性存储——您可以在调试器中或通过在代码中迭代 session 的属性来验证这一点。
spring文档(http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/beans.html#beans-factory-scopes-session)暗示情况就是如此但没有明确具体的机制。
关于java - Tomcat session 复制 + Spring bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4782987/