如果我使用Spring Session,是否需要为每个更改调用setAttribute()?

时间:2015-06-04 04:44:42

标签: spring session tomcat cluster-computing terracotta

我正在将基于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才会序列化属性对象?没有这个电话,他们不知道对象已经改变了吗?即他们不会监视对象的变化?

您是否知道没有此规则的群集解决方案?

0 个答案:

没有答案