搜尋

首頁  >  問答  >  主體

java tomcat 会话管理器的maxIdleSwap属性和maxIdleBackup属性?

书上有一个关于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呢?
我想的有什么不对吗?望大家指正

巴扎黑巴扎黑2770 天前542

全部回覆(1)我來回復

  • 黄舟

    黄舟2017-04-17 12:07:05

    Tomcat文檔:

    maxIdleBackup
    自上次存取會話到有資格保留到會話儲存之前的時間間隔(以秒為單位),或 -1 以停用此功能。預設情況下,此功能處於停用狀態。

    maxIdleSwap
    自上次訪問會話以來的時間間隔(以秒為單位),該時間間隔應持久保存到會話存儲中,並從伺服器內存中鈍化,或- 1 停用這個功能。若啟用此功能,此處指定的時間間隔應等於或長於為 maxIdleBackup指定的值。預設情況下,此功能處於停用狀態。


    黑體部分:maxIdleSwap的值應該大於或等於maxIdleBackup

    回覆
    0
  • 取消回覆