Назад | Перейти на главную страницу

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

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

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

Я думаю тебе нужен maxIdleBackup настройка. Из связанного javadoc:

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

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

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