Tomcat - 如何立即将会话存储在数据库中?

Tomcat - 如何立即将会话存储在数据库中?

我正在试验基于 tomcat JDBCStore 的会话持久性,想知道是否有办法让 tomcat 尽快将会话存储在 DB 中?

我尝试过使用minIdleSwapmaxIdleSwap值,但我想我只是不明白这些参数实际上代表什么,尽管我读过文档

答案1

我认为你需要maxIdleBackup 设置. 来自链接的 javadoc:

设置选项,在请求中使用会话后将其备份到存储中。会话在备份后仍可在内存中使用,因此不会像交换出时那样被钝化。设置的值表示会话在必须备份之前可以保留多长时间(自上次使用以来):-1表示不备份会话。

请注意,这不是硬性限制:会根据 定期检查会话是否符合此期限限制processExpiresFrequency。应考虑此值来指示会话何时可以备份。

因此,会话可能会空闲maxIdleBackup+ processExpiresFrequency*engine.backgroundProcessorDelay秒,再加上处理其他会话过期、交换等任务所需的时间。

相关内容