书上有一个关于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