【问题标题】:How does tomcat handles session between restarts?tomcat 如何处理重启之间的会话?
【发布时间】:2016-05-04 05:52:49
【问题描述】:

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

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

【问题讨论】:

    标签: java spring session tomcat


    【解决方案1】:

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

    持续会话包括上次活动时间。 当 Tomcat 启动时,它会启动每个 Web 应用程序。在 Web 应用程序启动期间,Web 应用程序会启动其关联的会话管理器。

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

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

    【讨论】:

    • 感谢您的快速回复,顺便问一下,您能否提供描述文档的链接?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-23
    • 2010-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多