前言

  • 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);
		}
	}
Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐