Tomcat - как хранить сессии в БД сразу?

Я экспериментирую с сохранением сеансов tomcat на основе JDBCStore и задаюсь вопросом, есть ли способ сделать сеансы хранения tomcat в БД как можно скорее?

Я пытался играть с minIdleSwap а также maxIdleSwap значения, но я думаю, я просто не понимаю, что на самом деле означают эти параметры, хотя я прочитал документацию.

1 ответ

Я думаю, вам нужен параметр maxIdleBackup. Из связанного Javadoc:

Устанавливает опцию для резервного копирования сессий в хранилище после их использования в запросе. Сессии остаются доступными в памяти после резервного копирования, поэтому они не пассивируются, как при извлечении. Набор значений указывает, сколько лет может пройти сеанс (с момента его последнего использования) до его резервного копирования: -1 означает, что сессии не резервируются.

Обратите внимание, что это не жесткий предел: сеансы периодически проверяются на соответствие этому возрастному пределу в соответствии с processExpiresFrequency, Это значение следует учитывать, чтобы указать, когда сеанс созрел для резервного копирования.

Таким образом, возможно, что сессия может быть бездействующей для maxIdleBackup + processExpiresFrequency * engine.backgroundProcessorDelay секунд, плюс время, необходимое для обработки других задач истечения сеанса, обмена и т. д.

Другие вопросы по тегам