Memcached会话管理器+ Spring延迟结果

时间:2015-04-03 23:01:14

标签: java spring session tomcat memcached

我在Spring + Tomcat应用程序上使用Memcached会话管理器(documentation here)。我正在使用非粘性会话和单个memcached节点。除了我尝试修改与长轮询请求关联的会话时,会话持久性正常工作。我正在存储DeferredResult的地图 - > HttpSession,当用户需要通知应用程序中的更新时,我会遍历Map的入口集。此时,有关各种用户状态的信息将在其会话中更新。我已经检查了在会话中设置信息并立即从会话中检索它之后,状态已更新。但是,当用户发送下一个长轮询请求时,尚未保存更新的状态信息。这是我的MSM配置:

   <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
    memcachedNodes="(single node)"
    sticky="false"
    sessionBackupAsync="false"
    lockingMode="uriPattern:/(.*)Updates(.*)\.html"
    requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
   />

对于典型的HTTP请求,我没有看到这个问题,只有当持有用户的DeferredResult然后尝试更新会话信息时。我的配置有问题,或者我可以手动触发保存的方式吗?

感谢任何帮助!

0 个答案:

没有答案