tomcat如何处理重启之间的会话?

时间:2016-05-04 05:52:50

标签: java spring session tomcat

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

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

1 个答案:

答案 0 :(得分:0)

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

持久会话包括最后一个活动时间。 当Tomcat启动时,它会启动每个Web应用程序。在Web应用程序启动期间,Web应用程序将启动其关联的会话管理器。

会话管理器启动时,会加载该Web应用程序的持久会话。在加载每个会话时,将触发会话激活事件。此外,检查最后一个活动时间以查看会话是否需要过期。如果是,则会话在该点到期,并且Tomcat将触发标准会话销毁事件。

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