在Spring Box应用程序的Virtual Box上运行WAR时出错

时间:2016-11-20 05:05:21

标签: java spring-boot redis spring-data virtualbox

我正在尝试运行我的 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

我尝试过以下但没有奏效:

1 个答案:

答案 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”

如果您发现使用端口的其他进程相应调整

另见 What can be the reasons of connection refused errors?