tomcat如何在重新启动之间处理会话



考虑一个运行有10个会话的tomcat服务器。这些会话在不同的时间启动。然后服务器重新启动。服务器启动时会发生什么?它会"查找"(或只是查找)保存到磁盘上的会话吗?如果是,之后会发生什么?

  1. 如果某个用户的会话到期;tomcat是否发送会话无效事件
  2. tomcat是否检查所有会话是否无效?如果是,什么时候发生?我如何检查并通知?如果没有进行会话验证,实时会话会发生什么,它们将保持多久

以稍微不同的顺序回答您的问题。这个答案假设使用默认的Tomcat配置,即使用带有默认选项的StandardManager。

持久化会话包括上次活动时间。Tomcat启动时,会启动每个web应用程序。在web应用程序启动期间,web应用程序将启动其关联的会话管理器。

当会话管理器启动时,它会加载该web应用程序的持久会话。加载每个会话时,将触发会话激活事件。此外,还会检查最后一次活动时间,以查看会话是否需要过期。如果发生这种情况,会话将在此时过期,Tomcat将触发标准会话销毁事件。

启动web应用程序后,后台线程会定期检查会话的最后活动时间,并根据需要使会话过期。

最新更新