我正在尝试运行我的 Spring Boot 应用程序 MongoDB & Virtual Box上的 Redis服务器但是收到与redis相关的错误,因此无法完成该过程..我得到这些错误:
vb-be7e6bc7 -> Caused by: org.springframework.data.redis.RedisConnectionFailureE
xception: Cannot get Jedis connection; nested exception is redis.clients.jedis.e
xceptions.JedisConnectionException: Could not get a resource from the pool
vb-be7e6bc7 -> at org.springframework.data.redis.connection.jedis.JedisConnecti
onFactory.fetchJedisConnector(JedisConnectionFactory.java:198) ~[spring-data-red
is-1.7.2.RELEASE.jar!/:na]
vb-be7e6bc7 -> at org.springframework.data.redis.connection.jedis.JedisConnecti
onFactory.getConnection(JedisConnectionFactory.java:345) ~[spring-data-redis-1.7
.2.RELEASE.jar!/:na]
vb-be7e6bc7 -> at org.springframework.session.data.redis.config.annotation.web.
http.RedisHttpSessionConfiguration$EnableRedisKeyspaceNotificationsInitializer.a
fterPropertiesSet(RedisHttpSessionConfiguration.java:223) ~[spring-session-1.2.1
.RELEASE.jar!/:na]
vb-be7e6bc7 -> at org.springframework.beans.factory.support.AbstractAutowireCap
ableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1637)
~[spring-beans-4.3.2.RELEASE.jar!/:4.3.2.RELEASE]
vb-be7e6bc7 -> at org.springframework.beans.factory.support.AbstractAutowireCap
ableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574) ~[s
pring-beans-4.3.2.RELEASE.jar!/:4.3.2.RELEASE]
vb-be7e6bc7 -> ... 24 common frames omitted
vb-be7e6bc7 -> Caused by: redis.clients.jedis.exceptions.JedisConnectionExceptio
n: Could not get a resource from the pool
vb-be7e6bc7 -> at redis.clients.util.Pool.getResource(Pool.java:53) ~[jedis-2.8
.2.jar!/:na]
vb-be7e6bc7 -> at redis.clients.jedis.JedisPool.getResource(JedisPool.java:99)
~[jedis-2.8.2.jar!/:na]
vb-be7e6bc7 -> at redis.clients.jedis.JedisPool.getResource(JedisPool.java:12)
~[jedis-2.8.2.jar!/:na]
vb-be7e6bc7 -> at org.springframework.data.redis.connection.jedis.JedisConnecti
onFactory.fetchJedisConnector(JedisConnectionFactory.java:191) ~[spring-data-red
is-1.7.2.RELEASE.jar!/:na]
vb-be7e6bc7 -> ... 28 common frames omitted
vb-be7e6bc7 -> Caused by: redis.clients.jedis.exceptions.JedisConnectionExceptio
n: java.net.ConnectException: Connection refused
vb-be7e6bc7 -> at redis.clients.jedis.Connection.connect(Connection.java:164) ~
[jedis-2.8.2.jar!/:na]
vb-be7e6bc7 -> at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:80
) ~[jedis-2.8.2.jar!/:na]
vb-be7e6bc7 -> at redis.clients.jedis.BinaryJedis.connect(BinaryJedis.java:1677
) ~[jedis-2.8.2.jar!/:na]
vb-be7e6bc7 -> at redis.clients.jedis.JedisFactory.makeObject(JedisFactory.java
:87) ~[jedis-2.8.2.jar!/:na]
vb-be7e6bc7 -> at org.apache.commons.pool2.impl.GenericObjectPool.create(Generi
cObjectPool.java:868) ~[commons-pool2-2.4.2.jar!/:2.4.2]
vb-be7e6bc7 -> at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(
GenericObjectPool.java:435) ~[commons-pool2-2.4.2.jar!/:2.4.2]
vb-be7e6bc7 -> at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(
GenericObjectPool.java:363) ~[commons-pool2-2.4.2.jar!/:2.4.2]
vb-be7e6bc7 -> at redis.clients.util.Pool.getResource(Pool.java:49) ~[jedis-2.8
.2.jar!/:na]
vb-be7e6bc7 -> ... 31 common frames omitted
vb-be7e6bc7 -> Caused by: java.net.ConnectException: Connection refused
vb-be7e6bc7 -> at java.net.PlainSocketImpl.socketConnect(Native Method) ~[na:1.
8.0-8u102]
vb-be7e6bc7 -> at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocke
tImpl.java:350) ~[na:1.8.0-8u102]
vb-be7e6bc7 -> at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPla
inSocketImpl.java:206) ~[na:1.8.0-8u102]
vb-be7e6bc7 -> at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketI
mpl.java:188) ~[na:1.8.0-8u102]
vb-be7e6bc7 -> at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[
na:1.8.0-8u102]
vb-be7e6bc7 -> at java.net.Socket.connect(Socket.java:589) ~[na:1.8.0-8u102]
vb-be7e6bc7 -> at redis.clients.jedis.Connection.connect(Connection.java:158) ~
[jedis-2.8.2.jar!/:na]
vb-be7e6bc7 -> ... 38 common frames omitted
我尝试过以下但没有奏效:
答案 0 :(得分:1)
看起来像连接问题,请验证以下内容:
配置不匹配
在redis redis.conf文件中,找到bind config和port default
bind 127.0.0.1
port 6379
JedisConnectionFactory使用的jedis默认值(请参阅堆栈跟踪)是:
bind localhost
port 6379
请参阅jedis客户端Protocol和Spring数据JedisConnectionFactory类。
确保它们符合您的spring-boot应用程序配置 如果不使用JedisShardInfo 为了更新你的配置,JedisConnectionFactory在它的约束器中接受JedisShardInfo。
确保/ etc / hosts或c:\ windows \ system32 \ drivers \ etc \ hosts 有条目
127.0.0.1 localhost
Altough微不足道有时候会有人唠叨或删除它。
Redis启动失败
确保您的redis启动并运行可能是另一个进程正在使用redis端口。 使用
netstat –anp | grep 6379
或windows
netstat –ano | find “6379”
如果您发现使用端口的其他进程相应调整