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
-
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionintThe session timeout in seconds.Defines a unique namespace for keys.org.springframework.session.SaveModeSave mode for the session.
-
Element Details
-
maxInactiveIntervalInSeconds
int maxInactiveIntervalInSecondsThe 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 redisNamespaceDefines a unique namespace for keys. The value is used to isolate sessions by changing the prefix from defaultspring: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
org.springframework.session.SaveMode saveModeSave mode for the session. The default isSaveMode.ON_SET_ATTRIBUTE, which only saves changes made to session.- Returns:
- the save mode
- Default:
- ON_SET_ATTRIBUTE
-