![Tomcat - 如何立即将会话存储在数据库中?](https://linux22.com/image/564406/Tomcat%20-%20%E5%A6%82%E4%BD%95%E7%AB%8B%E5%8D%B3%E5%B0%86%E4%BC%9A%E8%AF%9D%E5%AD%98%E5%82%A8%E5%9C%A8%E6%95%B0%E6%8D%AE%E5%BA%93%E4%B8%AD%EF%BC%9F.png)
我正在试验基于 tomcat JDBCStore 的会话持久性,想知道是否有办法让 tomcat 尽快将会话存储在 DB 中?
我尝试过使用minIdleSwap
和maxIdleSwap
值,但我想我只是不明白这些参数实际上代表什么,尽管我读过文档。
答案1
我认为你需要maxIdleBackup 设置. 来自链接的 javadoc:
设置选项,在请求中使用会话后将其备份到存储中。会话在备份后仍可在内存中使用,因此不会像交换出时那样被钝化。设置的值表示会话在必须备份之前可以保留多长时间(自上次使用以来):
-1
表示不备份会话。请注意,这不是硬性限制:会根据 定期检查会话是否符合此期限限制
processExpiresFrequency
。应考虑此值来指示会话何时可以备份。因此,会话可能会空闲
maxIdleBackup
+processExpiresFrequency
*engine.backgroundProcessorDelay
秒,再加上处理其他会话过期、交换等任务所需的时间。