ConnectException: соединение отклонено (соединение отклонено) - при подключении к Redis через Jedis - PullRequest
0 голосов
/ 18 июня 2019

Я пытаюсь подключиться к серверу Redis через клиент Jedis, но при подключении получаю следующее исключение и трассировку стека -

org.springframework.data.redis.RedisConnectionFailureException: Невозможно получить соединение Jedis;вложенное исключение - redis.clients.jedis.exceptions.JedisConnectionException: не удалось получить ресурс из пула по адресу org.springframework.data.redis.connection.jedis.JedisConnectionFactory.fetchJedisConnector (JedisConnectionFactory.jrame.prf.dj.j4: 0).redis.connection.jedis..getConnection (RedisConnectionUtils.java:92) в org.springframework.data.redis.core.RedisConnectionUtils.getConnection (RedisConnectionUtils.java:79) в org.springframework.data.redis.core.RedisTemplate.19late (4)) в org.springframework.data.redis.core.RedisTemplate.execute (RedisTemplate.java:169) в org.springframework.data.redis.core.AbstractOperations.execute (AbstractOperations.java:91) в org.springframework.ata.redis.core.DefaultHashOperations.get (DefaultHashOperations.java:49) в jdk.internal.reflect.GeneratedMethodAccessor122.invoke (неизвестный источник) в java.base / jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorIbasejjjjl) jj.java.lang.reflect.Method.invoke (Method.java:564) в org.springframework.scheduling.support.ScheduledMethodRunnable.run (ScheduledMethodRunnable.java:65) в org.springframework.scheduling.ununRundingRuning.Java: 54) в org.springframework.scheduling.concurrent.ReschedulingRunnable.run (ReschedulingRunnable.java:81) в java.base / java.util.concurrent.Executors $ RunnableAdapter.call (Executors.java:514) в Java./java.util.concurrent.FutureTask.run(FutureTask.java:264) в java.base / java.util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.run (ScheduledThreadPoolExecutor.java:304) в java.util..ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1135) в java.base / java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:635) в java.base / java.lang.Thread.run (Thread.java:844) Причина: redis.clients.jedis.exceptions.JedisConnectionException: Не удалось получитьресурс из пула на redis.clients.util.Pool.getResource (Pool.java:53) на redis.clients.jedis.JedisPool.getResource (JedisPool.java:226) на redis.clients.jedis.JedisPool.getResource (JedisPool.java: 16) at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.fetchJedisConnector (JedisConnectionFactory.java:194) ... еще 24 Причина: redis.clients.jedis.exceptions.JedisConavactionException:ConnectException: соединение отклонено (соединение отклонено) в redis.clients.jedis.Connection.connect (Connection.java:207) в redis.clients.jedis.BinaryClient.connect (BinaryClient.java:93) в redis.clients.jedis.BinaryJedis.connect (BinaryJedis.java:1767) в redis.clients.jedis.JedisFactory.makeObject (JedisFactory.java:106) в org.apache.commons.pool2.impl.GenericObjectPool.создать (GenericObjectPool.java:888) в org.apache.commons.pool2.impl.GenericObjectPool.borrowObject (GenericObjectPool.java:432) в org.apache.commons.pool2.impl.GenericObjectPool.borrowOjjectPject.Poolat redis.clients.util.Pool.getResource (Pool.java:49) ... еще 27Вызывается: java.net.ConnectException: соединение отклонено (соединение отклонено) в java.base / java.net.PlainSocketImpl.socketConnect (собственный метод) в java.base / java.net.AbstractPlainSocketImpl.doConnect (AbstractPlainSocketImpl.java:400)в java.base / java.net.AbstractPlainSocketImpl.connectToAddress (AbstractPlainSocketImpl.java:243) в java.base / java.net.AbstractPlainSocketImpl.connect (AbstractPlainSocketImpl.java:225) в java.o.base / jax.base(SocksSocketImpl.java:402) в java.base / java.net.Socket.connect (Socket.java:591) в redis.clients.jedis.Connection.connect (Connection.java:184)

Этотакое конфигурация Jedis Pool -

@Bean
    public JedisPoolConfig jedisPoolConfig() {
        JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
        jedisPoolConfig.setMaxWaitMillis(5000);
        jedisPoolConfig.setMaxIdle(8);
        jedisPoolConfig.setMinIdle(1);
        jedisPoolConfig.setMaxTotal(10);
        return jedisPoolConfig;
    }

@Bean
public JedisConnectionFactory jedisConnectionFactory() {
        JedisConnectionFactory factory = new JedisConnectionFactory();
        factory.setPoolConfig(jedisPoolConfig());
        factory.setShardInfo(shardInfo());
        factory.setHostName(serviceConfiguration.REDIS_HOST_NAME);
        factory.setPort(serviceConfiguration.REDIS_PORT);
        factory.setUsePool(true);
        return factory;
}

Подскажите, пожалуйста, что нужно изменить или попробовать, чтобы решить эту проблему?

1 Ответ

0 голосов
/ 18 июня 2019

Убедитесь, что вы правильно сконфигурировали фабричный бин соединения

 @Bean
  public JedisConnectionFactory redisConnectionFactory() {

    RedisStandaloneConfiguration config = new RedisStandaloneConfiguration("server", 6379);
    return new JedisConnectionFactory(config);
  }
...