我正在 Tomcat 中运行 J2EE Web 应用程序,最近我的任务是向应用程序添加指标。我正在使用 SessionListener 来检测会话何时被破坏,然后将指标上传到数据库。我的会话超时在我的 web.xml 中设置为 30 分钟,并且我不会在任何地方以编程方式使会话无效。通常在我登录测试的 1 5-10 分钟期间,我会看到上传到数据库的 3 或 4 组指标,它们都具有不同的会话 ID。
除了 web.xml 和 session.invalidate(),还有什么会导致 Tomcat 中的会话被破坏?例外?Tomcat 会随机使会话无效吗?