【发布时间】:2014-07-04 14:51:13
【问题描述】:
如果强制重新登录,我的 tomcat 应用程序会随机使会话信息和用户无效。这只发生在 webapp 与其他特定的 web 应用程序一起部署时。当它自己运行而没有其他应用程序运行时,它工作正常。某处有冲突,但我找不到。
有问题的 webapp 同时使用 Spring 和 Hibernate 框架。其他 webapps 也是如此。这是发生的事情的一个例子。
当我第一次登录时,一切都很好。
JSESSONID 在 cookie 和管理控制台中都匹配。但是,在使用该应用程序时,它会随机终止会话。
Session gone in Tomcat Console
当我再次发出 Web 请求时,会显示登录页面并生成新的 JSESSIONID。
根据我所做的研究,只要调用 JSP 文件并且没有当前会话,就会生成 JSESSIONID。我不明白为什么会话会失效,但只有当它与其他应用程序一起运行时才会失效。我检查了内存使用情况,我没有注意到内存下降和会话失效之间的相关性。我猜这意味着 Tomcat 不会清除会话以释放内存。
非常感谢任何帮助
【问题讨论】: