Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 嵌入式redis can';t start-ERR不支持的配置参数:notify keyspace events_Java_Spring Boot_Redis - Fatal编程技术网

Java 嵌入式redis can';t start-ERR不支持的配置参数:notify keyspace events

Java 嵌入式redis can';t start-ERR不支持的配置参数:notify keyspace events,java,spring-boot,redis,Java,Spring Boot,Redis,我使用的是嵌入式redis 0.6版本和spring会话数据redis 1.0.1.0版本。使用mvn spring boot:run命令执行spring boot后,tomcat服务器启动,但嵌入式redis立即引发以下异常(请参阅下面的完整堆栈跟踪): redis.clients.jedis.exceptions.jedisdataeException:ERR不支持的配置参数:notify keyspace事件 我如何解决这个问题 My pom.xml: org.springframewo

我使用的是嵌入式redis 0.6版本和spring会话数据redis 1.0.1.0版本。使用mvn spring boot:run命令执行spring boot后,tomcat服务器启动,但嵌入式redis立即引发以下异常(请参阅下面的完整堆栈跟踪):

redis.clients.jedis.exceptions.jedisdataeException:ERR不支持的配置参数:notify keyspace事件

我如何解决这个问题

My pom.xml:


org.springframework.session
spring会话数据redis
1.0.1.1发布
com.github.kstyrc
嵌入式redis
0.6
完整堆栈跟踪:

原因:org.springframework.beans.factory.BeanCreationException:创建名为“enableRedisKeyspaceNotificationsInitializer”的bean时出错,该名称在类路径资源[org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfiguration.class]中定义:调用init方法失败;嵌套异常为org.springframework.dao.InvalidDataAccessApiUsageException:ERR Unsupported配置参数:notify keyspace events;嵌套异常为redis.clients.jedis.exceptions.JedisDataException:ERR不支持的配置参数:notify keyspace events
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1578)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
位于org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
位于org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
位于org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
位于org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
位于org.springframework.beans.factory.support.DefaultListableBeanFactory.PreInstanceSingleton(DefaultListableBeanFactory.java:772)
位于org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839)
位于org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:538)
位于org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118)
位于org.springframework.boot.SpringApplication.refresh(SpringApplication.java:766)
位于org.springframework.boot.SpringApplication.createAndRefreshContext(SpringApplication.java:361)
位于org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
位于org.springframework.boot.SpringApplication.run(SpringApplication.java:1191)
位于org.springframework.boot.SpringApplication.run(SpringApplication.java:1180)
位于com.springbootapp.config.Application.main(Application.java:16)
... 还有6个
原因:org.springframework.dao.InvalidDataAccessApiUsageException:ERR不支持的配置参数:notify keyspace事件;嵌套异常为redis.clients.jedis.exceptions.JedisDataException:ERR不支持的配置参数:notify keyspace events
位于org.springframework.data.redis.connection.jedis.jedisceptionconverter.convert(jedisceptionconverter.java:44)
位于org.springframework.data.redis.connection.jedis.jedisceptionconverter.convert(jedisceptionconverter.java:36)
位于org.springframework.data.redis.passthroughceptionTranslationStrategy.translate(passthroughceptionTranslationStrategy.java:37)
位于org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:37)
位于org.springframework.data.redis.connection.jedis.JedisConnection.convertJedisAccessException(JedisConnection.java:210)
位于org.springframework.data.redis.connection.jedis.JedisConnection.setConfig(JedisConnection.java:633)
位于org.springframework.session.data.redis.config.ConfigureNotifyKeyspaceEventsAction.configure(ConfigureNotifyKeyspaceEventsAction.java:63)
位于org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration$EnableRedisKeyspaceNotificationsInitializer.afterPropertieSet(RedisHttpSessionConfiguration.java:167)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1637)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574)
... 还有22个
原因:redis.clients.jedis.exceptions.JedisDataException:ERR不支持的配置参数:notify keyspace事件
位于redis.clients.jedis.Protocol.processError(Protocol.java:117)
位于redis.clients.jedis.Protocol.process(Protocol.java:151)
在redis.clients.jedis.Protocol.read(Protocol.java:205)
位于redis.clients.jedis.Connection.ReadProtocolWithCheckingBreaked(Connection.java:297)
位于redis.clients.jedis.Connection.getStatusCodeReply(Connection.java:196)
位于redis.clients.jedis.jedis.configSet(jedis.java:2575)
位于org.springframework.data.redis.connection.jedis.JedisConnection.setConfig(JedisConnection.java:631)
... 26多

错误通常发生在以下两种情况之一:

Redis版本太旧了

这似乎是最有可能的答案。发件人:

要使示例正常工作,必须在localhost和 使用默认端口(6379)运行它。或者,您可以更新 JedisConnectionFactory指向Redis服务器

如果您不关心接收事件,可以通过以下方式禁用密钥空间通知设置:
@Bean
public static ConfigureRedisAction configureRedisAction() {
    return ConfigureRedisAction.NO_OP;
}
<util:constant
    static-field="org.springframework.session.data.redis.config.ConfigureRedisAction.NO_OP"/>
@Bean
public static ConfigureRedisAction configureRedisAction() {
    return ConfigureRedisAction.NO_OP;
}
<util:constant
    static-field="org.springframework.session.data.redis.config.ConfigureRedisAction.NO_OP"/>