我正在试验基于 tomcat JDBCStore 的会话持久性,想知道是否有办法让 tomcat 尽快将会话存储在 DB 中?
我尝试过使用minIdleSwap
和maxIdleSwap
值,但我想我只是不明白这些参数实际上代表什么,尽管我读过文档。
答案1
我认为你需要maxIdleBackup 设置. 来自链接的 javadoc:
设置选项,在请求中使用会话后将其备份到存储中。会话在备份后仍可在内存中使用,因此不会像交换出时那样被钝化。设置的值表示会话在必须备份之前可以保留多长时间(自上次使用以来):
-1
表示不备份会话。请注意,这不是硬性限制:会根据 定期检查会话是否符合此期限限制
processExpiresFrequency
。应考虑此值来指示会话何时可以备份。因此,会话可能会空闲
maxIdleBackup
+processExpiresFrequency
*engine.backgroundProcessorDelay
秒,再加上处理其他会话过期、交换等任务所需的时间。