Spring Boot предусматривает автоконфигурацию Spring Session для широкого спектра хранилищ данных. При создании сервлетного веб-приложения следующие хранилища могут быть автоматически сконфигурированы:
-
JDBC
-
Redis
-
Hazelcast
-
MongoDB
Кроме того, Spring Boot для Apache Geode предусматривает автоконфигурацию для использования Apache Geode в качестве хранилища сессий.
Автоконфигурация сервлета заменяет необходимость использования аннотации @Enable*HttpSession
.
При создании реактивного веб-приложения следующие хранилища могут быть автоматически сконфигурированы:
-
Redis
-
MongoDB
Реактивная автоконфигурация заменяет необходимость использования аннотации @Enable*WebSession
.
Если в classpath присутствует один модуль Spring Session, Spring Boot автоматически использует эту реализацию хранилища. Если имеется более одной реализации, необходимо выбрать StoreType
, который вы хотите использовать для хранения сессий. Например, чтобы использовать JDBC в качестве бэкенд-хранилища, можно сконфигурировать приложение следующим образом:
spring.session.store-type=jdbc
spring:
session:
store-type: "jdbc"
store-type
значение none
.Каждое хранилище имеет определенные дополнительные параметры. Например, можно настроить имя таблицы для хранилища JDBC, как показано в следующем примере:
spring.session.jdbc.table-name=SESSIONS
spring:
session:
jdbc:
table-name: "SESSIONS"
Для установки времени ожидания сессии можно использовать свойство spring.session.timeout
. Если это свойство не установить в сервлетном веб-приложении, автоконфигурация вернется к значению server.servlet.session.timeout
.
Можно управлять конфигурацией Spring Session, используя аннотацию @Enable*HttpSession
(сервлетное приложение) или аннотацию @Enable*WebSession
(реактивное приложение). Это приведет к откату автоконфигурации. Затем Spring Session можно будет сконфигурировать, используя атрибуты аннотации, а не описанные ранее конфигурационные свойства.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ