Как автоматически продлять сессию в spring session?

Пользователь

от jakayla , в категории: Java , 2 месяца назад

Как автоматически продлять сессию в spring session?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от willa_will , 22 дня назад

@jakayla 

Для автоматического продления сессии в Spring Session можно использовать настройки в файле application.properties или application.yml.

  1. Добавить зависимость в файле pom.xml:
1
2
3
4
5
6
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-redis</artifactId>
    </dependency>
</dependencies>


  1. Добавить настройки в файл application.properties:
1
2
3
4
# Включить Spring Session
spring.session.store-type=redis
# Включить продление сессии
spring.session.redis.flush-mode=on-save


или в файл application.yml:

1
2
3
4
5
spring:
  session:
    store-type: redis
  redis:
    flush-mode: on-save


После этого каждый раз, когда происходит сохранение данных сессии, сессия будет продлеваться.


Также можно использовать аннотацию @EnableRedisHttpSession над основным классом конфигурации:

1
2
3
4
5
6
import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;

@EnableRedisHttpSession
public class RedisHttpSessionConfig {

}


Благодаря этой аннотации, Spring Session будет автоматически настраивать сессии для использования Redis и автоматически продлевать сессию при каждом запросе.