복붙노트

[REDIS] 임베디드 레디 스를 시작할 수 없습니다 - ERR 지원되지 않는 구성 매개 변수 : 통지 - 키 스페이스 - 이벤트

REDIS

임베디드 레디 스를 시작할 수 없습니다 - ERR 지원되지 않는 구성 매개 변수 : 통지 - 키 스페이스 - 이벤트

내가 사용하고있는 임베디드 레디 스 0.6 버전과 1.0.1.RELEASE 봄 - 세션 데이터 - 레디 스. MVN 봄 부팅 봄 부팅을 실행 한 후 : 예외를 다음 던졌습니다 서버가 시작 바람둥이 명령을 실행하지만, 임베디드 레디 스를 즉시 (아래 전체 스택 추적을 참조)

어떻게이 문제를 해결할 수 있습니까?

내 pom.xml 파일 :

<dependency>
    <groupId>org.springframework.session</groupId>
    <artifactId>spring-session-data-redis</artifactId>
    <version>1.0.1.RELEASE</version> 
</dependency>
<dependency>
    <groupId>com.github.kstyrc</groupId>
    <artifactId>embedded-redis</artifactId>
    <version>0.6</version>
</dependency>

전체 스택 추적 :

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'enableRedisKeyspaceNotificationsInitializer' defined in class path resource [org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfiguration.class]: Invocation of init method failed; nested exception is org.springframework.dao.InvalidDataAccessApiUsageException: ERR Unsupported CONFIG parameter: notify-keyspace-events; nested exception is redis.clients.jedis.exceptions.JedisDataException: ERR Unsupported CONFIG parameter: notify-keyspace-events
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1578)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:538)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:766)
    at org.springframework.boot.SpringApplication.createAndRefreshContext(SpringApplication.java:361)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1191)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1180)
    at com.springbootapp.config.Application.main(Application.java:16)
    ... 6 more
Caused by: org.springframework.dao.InvalidDataAccessApiUsageException: ERR Unsupported CONFIG parameter: notify-keyspace-events; nested exception is redis.clients.jedis.exceptions.JedisDataException: ERR Unsupported CONFIG parameter: notify-keyspace-events
    at org.springframework.data.redis.connection.jedis.JedisExceptionConverter.convert(JedisExceptionConverter.java:44)
    at org.springframework.data.redis.connection.jedis.JedisExceptionConverter.convert(JedisExceptionConverter.java:36)
    at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:37)
    at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:37)
    at org.springframework.data.redis.connection.jedis.JedisConnection.convertJedisAccessException(JedisConnection.java:210)
    at org.springframework.data.redis.connection.jedis.JedisConnection.setConfig(JedisConnection.java:633)
    at org.springframework.session.data.redis.config.ConfigureNotifyKeyspaceEventsAction.configure(ConfigureNotifyKeyspaceEventsAction.java:63)
    at org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration$EnableRedisKeyspaceNotificationsInitializer.afterPropertiesSet(RedisHttpSessionConfiguration.java:167)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1637)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574)
    ... 22 more
Caused by: redis.clients.jedis.exceptions.JedisDataException: ERR Unsupported CONFIG parameter: notify-keyspace-events
    at redis.clients.jedis.Protocol.processError(Protocol.java:117)
    at redis.clients.jedis.Protocol.process(Protocol.java:151)
    at redis.clients.jedis.Protocol.read(Protocol.java:205)
    at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:297)
    at redis.clients.jedis.Connection.getStatusCodeReply(Connection.java:196)
    at redis.clients.jedis.Jedis.configSet(Jedis.java:2575)
    at org.springframework.data.redis.connection.jedis.JedisConnection.setConfig(JedisConnection.java:631)
    ... 26 more

해결법

  1. ==============================

    1.이 오류는 종종 두 가지 상황 중 하나에서 발생합니다

    이 오류는 종종 두 가지 상황 중 하나에서 발생합니다

    레디 스 버전은 너무 오래

    이것은 가장 가능성이 대답처럼 보인다. 문서에서 :

    이벤트를 수신 걱정하지 않으면 당신은 ConfigureRedisAction Bean을 작성하여 키 스페이스 알림 설정을 해제 할 수 있습니다 :

    @Bean
    public static ConfigureRedisAction configureRedisAction() {
        return ConfigureRedisAction.NO_OP;
    }
    

    또는 XML

    <util:constant
        static-field="org.springframework.session.data.redis.config.ConfigureRedisAction.NO_OP"/>
    

    다른 방법으로, 레디 스 2.8 이상을 실행하는 확인합니다.

    귀하의 레디 스 인스턴스는 장애인이 있거나 설정 명령 이름

    이 기본 구성으로하기 때문에 포함 된 인스턴스의 경우 않을 수 있습니다. 문서에서 :

    @Bean
    public static ConfigureRedisAction configureRedisAction() {
        return ConfigureRedisAction.NO_OP;
    }
    

    또는 XML

    <util:constant
        static-field="org.springframework.session.data.redis.config.ConfigureRedisAction.NO_OP"/>
    
  2. from https://stackoverflow.com/questions/36177688/embedded-redis-cant-start-err-unsupported-config-parameter-notify-keyspace-e by cc-by-sa and MIT license