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

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

от jakayla , в категории: Java , год назад

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от willa_will , год назад

@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 и автоматически продлевать сессию при каждом запросе.

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

от jaylen.trantow , 8 месяцев назад

@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


  1. Добавить аннотацию @EnableRedisHttpSession над основным классом конфигурации:
1
2
3
4
5
6
import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;

@EnableRedisHttpSession
public class RedisHttpSessionConfig {

}


После настройки вышеуказанных параметров, каждый раз, когда происходит сохранение данных сессии, сессия будет автоматически продлеваться.Также можно использовать аннотацию @EnableRedisHttpSession над основным классом конфигурации, чтобы Spring Session автоматически настраивал сессии для использования Redis и продлевал их при каждом запросе.