Annotation Interface EnableRedisIndexedWebSession


@Retention(RUNTIME) @Target(TYPE) @Documented @Import(RedisIndexedWebSessionConfiguration.class) public @interface EnableRedisIndexedWebSession
Add this annotation to an Configuration class to expose the WebSessionManager as a bean named webSessionManager and backed by Reactive Redis. In order to leverage the annotation, a single ReactiveRedisConnectionFactory must be provided. For example:
 @Configuration(proxyBeanMethods = false)
 @EnableRedisIndexedWebSession
 public class RedisIndexedWebSessionConfig {

     @Bean
     public LettuceConnectionFactory redisConnectionFactory() {
         return new LettuceConnectionFactory();
     }

 }
 
More advanced configurations can extend RedisIndexedWebSessionConfiguration instead.
Since:
3.3
  • Element Details

    • maxInactiveIntervalInSeconds

      int maxInactiveIntervalInSeconds
      The session timeout in seconds. By default, it is set to 1800 seconds (30 minutes). A negative number means permanently valid.
      Returns:
      the seconds a session can be inactive before expiring
      Default:
      1800
    • redisNamespace

      String redisNamespace
      Defines a unique namespace for keys. The value is used to isolate sessions by changing the prefix from default spring:session: to <redisNamespace>:.

      For example, if you had an application named "Application A" that needed to keep the sessions isolated from "Application B" you could set two different values for the applications and they could function within the same Redis instance.

      Returns:
      the unique namespace for keys
      Default:
      "spring:session"
    • saveMode

      SaveMode saveMode
      Save mode for the session. The default is SaveMode.ON_SET_ATTRIBUTE, which only saves changes made to session.
      Returns:
      the save mode
      Default:
      ON_SET_ATTRIBUTE