admin管理员组

文章数量:1641350

项目中使用了redis的监听机制,监听过期的key,注入了redis的listener,

再使用这个功能其实是要修改redis的配置,我本地是改了的,线上的redis忘记改了

原因是spring-session调用了CONFIG命令来配置Keyspace notifications功能。而线上环境的redis基于权限的考虑,禁止应用服务执行CONFIG命令,这样就导致了应用在初始化时抛出此异常。


	@Autowired
	private RedisConnectionFactory redisConnectionFactory;

	@Bean
	public RedisMessageListenerContainer redisMessageListenerContainer() {
		RedisMessageListenerContainer redisMessageListenerContainer = new RedisMessageListenerContainer();
		redisMessageListenerContainer.setConnectionFactory(redisConnectionFactory);
		return redisMessageListenerContainer;
	}

	@Bean
	public KeyExpiredListener keyExpiredListener() {
		return new KeyExpiredListener(this.redisMessageListenerContainer());
	}

解决方案:修改redis的配置文件,添加如下配置,

notify-keyspace-events Ex

本文标签: 报错errSpringBootcommanddisabled