书上有一个关于PersistenManager
会话管理器的配置
<Context reloadable="true" >
<Manager className="org.apache.catalina.session.PersistentManager"
saveOnRestart="true"
maxActiveSessions="10"
minIdleSwap="60"
maxIdleSwap="120"
maxIdleBackup="180"
maxInactiveInterval="300">
<Store className="org.apache.catalina.session.FileStore" directory="mydir" />
</Manager>
</Context>
其中这两个属性很不理解:
maxIdleSwap="120"
maxIdleSwap为120s, 最大不活动时间为120s时会把会话保存在会话store中,那么在内存中的这个会话就会被销毁.
但是他还设置了maxIdleBackup="180"
maxIdleBackup为180s, 当不活动的时间大于180s时会把会话备份在store中
这个地方我就在想, 如果一个session在120s的时间被保存在store中, 怎么可能不活动时间为180呢?
我想的有什么不对吗?望大家指正
Tomcat文档:
maxIdleBackup
自上次访问会话到有资格保留到会话存储之前的时间间隔(以秒为单位),或 -1 以禁用此功能。默认情况下,此功能处于禁用状态。
maxIdleSwap
自上次访问会话以来的时间间隔(以秒为单位),该时间间隔应持久保存到会话存储中,并从服务器内存中钝化,或 -1 禁用这个功能。如果启用此功能,此处指定的时间间隔应等于或长于为 maxIdleBackup指定的值。默认情况下,此功能处于禁用状态。
黑体部分:maxIdleSwap的值应该大于或等于maxIdleBackup