在多线程环境中使用jedis时出现JedisConnectionException

时间:2017-06-05 07:24:28

标签: java redis jedis

我正面临一个问题,即由于超时而导致JedisConnectionException。我们是一个多线程环境,我们正在广泛使用redis。我们使用以下配置创建redis池,

  JedisPoolConfig config = new JedisPoolConfig();
    config.setTestOnBorrow(true); config.setMaxIdle(1000);
     config.setMaxTotal(1000); config.setBlockWhenExhausted(true);
     config.setMaxWaitMillis(180000); pool = new JedisPool(config,
     getHost(), getPort());

每次使用后我们都会将资源释放回池中。 例外情况如下

  

redis.clients.jedis.exceptions.JedisConnectionException:无法获取   池中的资源   redis.clients.util.Pool.getResource(Pool.java:42)
  引起:   redis.clients.jedis.exceptions.JedisConnectionException:   java.net.ConnectException:拒绝连接   redis.clients.jedis.Connection.connect(Connection.java:142)at   redis.clients.jedis.BinaryClient.connect(BinaryClient.java:75)at   redis.clients.jedis.BinaryJedis.connect(BinaryJedis.java:1724)at at   redis.clients.jedis.JedisFactory.makeObject(JedisFactory.java:65)at   org.apache.commons.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:868)     在   org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:435)     在   org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:363)     在redis.clients.util.Pool.getResource(Pool.java:40)...还有4个   引起:java.net.ConnectException:拒绝连接   java.net.PlainSocketImpl.socketConnect(本机方法)

有人可以建议吗?

0 个答案:

没有答案