Tomcat - как хранить сессии в БД сразу?
Я экспериментирую с сохранением сеансов tomcat на основе JDBCStore и задаюсь вопросом, есть ли способ сделать сеансы хранения tomcat в БД как можно скорее?
Я пытался играть с minIdleSwap
а также maxIdleSwap
значения, но я думаю, я просто не понимаю, что на самом деле означают эти параметры, хотя я прочитал документацию.
1 ответ
Я думаю, вам нужен параметр maxIdleBackup. Из связанного Javadoc:
Устанавливает опцию для резервного копирования сессий в хранилище после их использования в запросе. Сессии остаются доступными в памяти после резервного копирования, поэтому они не пассивируются, как при извлечении. Набор значений указывает, сколько лет может пройти сеанс (с момента его последнего использования) до его резервного копирования:
-1
означает, что сессии не резервируются.Обратите внимание, что это не жесткий предел: сеансы периодически проверяются на соответствие этому возрастному пределу в соответствии с
processExpiresFrequency
, Это значение следует учитывать, чтобы указать, когда сеанс созрел для резервного копирования.Таким образом, возможно, что сессия может быть бездействующей для
maxIdleBackup
+processExpiresFrequency
*engine.backgroundProcessorDelay
секунд, плюс время, необходимое для обработки других задач истечения сеанса, обмена и т. д.