我正在将基于Spring mvc + hibernate的应用程序迁移到集群环境(Tomcat集群)。我正在研究会话复制/共享的可能解决方案。来自Terracotta documentation
所有群集会话实施(包括兵马俑会话) 要求将一个变异的会话对象放回到会话之后 它发生了变异。如果缺少呼叫,则不知道改变 集群,仅限于本地节点。例如:
Session session = request.getSession();
Map m = session.getAttribute("foo");
m.clear();
session.setAttribute("foo", m); // Without this call, the clear() is not effective across the cluster.
只是想知道Spring Session是否适用同样的规则?我的意思是Spring Session Project
有谁知道这条规则背后的原因?是因为只有在调用该方法时,Spring Session或Terracotta Web Session才会序列化属性对象?没有这个电话,他们不知道对象已经改变了吗?即他们不会监视对象的变化?
您是否知道没有此规则的群集解决方案?