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 можно будет сконфигурировать, используя атрибуты аннотации, а не описанные ранее конфигурационные свойства.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ