前言
- spring-session 2.0.2.RELEASE
- 安装官方文档配置可以正常启动。
- 自己改动了一下,就出现了错误:No bean named ‘springSessionRepositoryFilter’ available
错误内容
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'springSessionRepositoryFilter' available
问题分析
项目是spring mvc的servlet3.0项目,使用注解配置。
使用@EnableRedisHttpSession
注解开启spring session 功能,启动项目正常。
不通过注解,而是通过实例化Bean RedisHttpSessionConfiguration就出现上述错误。
经过分析,是因为在RedisHttpSessionConfiguration中应该被实例化的Bean RedisOperationsSessionRepository未被实例化。
看来只能通过@EnableRedisHttpSession
注解开启spring session 功能了。
我只是想修改maxInactiveIntervalInSeconds参数。使用@EnableRedisHttpSession
注解后,改用下面的方式修改maxInactiveIntervalInSeconds参数。
@Configuration
static class RedisHttpSessionConfigurationConfiguration {
@Autowired
public void setRedisHttpSessionConfiguration(
RedisHttpSessionConfiguration config,
@Value("${redis.session.timeout}") int maxInactiveIntervalInSeconds) {
config.setMaxInactiveIntervalInSeconds(maxInactiveIntervalInSeconds);
}
}