Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Tomcat(作为 servlet 容器)能够管理会话。当会话到期时,tomcat 必须使其无效。就我而言,tomcat 有一个调度程序,它检查会话过期时间(对吗?我尝试编写一个实现 HttpSessionListener 的监听器(过期时间 == 1 分钟),并且它的 sessionDestroyed 方法在分钟,但我不确定哪个会话无效)。
问题是,调度器的检查周期是多少?
简短的回答:默认情况下每 60 秒进行一次检查
长答案:检查是由后台处理线程进行的。每个容器(引擎、主机或上下文)可能有自己的后台处理线程。如果容器没有后台处理线程,它会使用其父级的后台处理线程。默认情况下,引擎有一个后台处理线程,每 10 秒检查一次。Hosts 和 Contexts 默认没有后台处理线程。此外,会话管理器仅在后台处理线程的每个 processExpiresFrequency 执行时运行会话到期代码。默认值为 6,因此默认情况下,会话过期每 6*10s = 60s 执行一次。