Невозможно подключиться к Redis, RedisConnectionException: невозможно подключиться к {hostName}:6379/:6379* ⇐ JAVA
Невозможно подключиться к Redis, RedisConnectionException: невозможно подключиться к {hostName}:6379/:6379*
Я пытаюсь настроить соединение Redis в моем проекте SpringBoot. Приложение запускается без каких-либо проблем, но когда я пытаюсь протестировать любую операцию Redis, особенно при вызове контроллера REST, который фактически вызывает репозиторий, я продолжаю сталкиваться с той же ошибкой.
Вот версии, которые я использую в своем pom.xml:
org.springframework.boot spring-boot-starter-parent 2.6.6 org.springframework.boot spring-boot-starter-data-redis Ниже приведен класс конфигурации, который я использую для подключения к Redis:
@Configuration @RequiredArgsConstructor общественный класс RedisConfigurationBuilder { частный окончательный RedisProperties redisProperties; @Бин public RedisConnectionFactory redisConnectionFactory() { пытаться { RedisStandaloneConfiguration redisStandaloneConfiguration = новый RedisStandaloneConfiguration (); redisStandaloneConfiguration.setHostName(redisProperties.getHost()); redisStandaloneConfiguration.setPort(redisProperties.getPort()); redisStandaloneConfiguration.setUsername(redisProperties.getUsername()); redisStandaloneConfiguration.setPassword(RedisPassword.of(redisProperties.getPassword())); LettuceClientConfiguration clientConfig = LettuceClientConfiguration.builder().useSsl().and() .commandTimeout(Duration.ofSeconds(2)).build(); вернуть новый LettuceConnectionFactory (redisStandaloneConfiguration, clientConfig); } catch (Исключение е) { throw new RuntimeException("Не удалось настроить Redis", e); } } @Бин public RedisTemplate redisTemplate(RedisConnectionFactory ConnectionFactory) { Шаблон RedisTemplate = новый RedisTemplate(); template.setConnectionFactory(connectionFactory); template.setDefaultSerializer(новый GenericJackson2JsonRedisSerializer()); template.setKeySerializer(новый StringRedisSerializer()); template.setHashKeySerializer(новый GenericJackson2JsonRedisSerializer()); template.setValueSerializer(новый GenericJackson2JsonRedisSerializer()); шаблон возврата; } } Примечание. В трассировке стека я заменил настоящее имя хоста на {hostName, просто чтобы скрыть реальный сервер, к которому я подключаюсь. Сообщение об ошибке выглядит следующим образом:
org.springframework.data.redis.RedisConnectionFailureException: невозможно подключиться к Redis; вложенное исключение: io.lettuce.core.RedisConnectionException: невозможно подключиться к {hostName}:6379/:6379
А это трассировка стека ошибки, которую я постоянно получаю:
org.springframework.data.redis.RedisConnectionFailureException: невозможно подключиться к Redis; вложенным исключением является io.lettuce.core.RedisConnectionException: невозможно подключиться к {hostName}:6379/:6379** в org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory$ExceptionTranslatingConnectionProvider.translateException(LettuceConnectionFactory.java:1689). в org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory$ExceptionTranslatingConnectionProvider.getConnection(LettuceConnectionFactory.java:1597) в org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory$SharedConnection.getNativeConnection(LettuceConnectionFactory.java:1383) в org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) в java.base/java.lang.Thread.run(Thread.java:833) Вызвано: io. lettuce.core.RedisConnectionException: невозможно подключиться к {hostName}/:6379 по адресу io.lettuce.core.RedisConnectionException.create(RedisConnectionException.java:78) по адресу io.lettuce.core.RedisConnectionException.create(RedisConnectionException. java:56) в io.lettuce.core.AbstractRedisClient.getConnection(AbstractRedisClient.java:330) в io.lettuce.core.RedisClient.connect(RedisClient.java:216) в org.springframework.data.redis.connection.lettuce .StandaloneConnectionProvider.lambda$getConnection$1(StandaloneConnectionProvider.java:115) по адресу java.base/java.util.Optional.orElseGet(Optional.java:364) по адресу org.springframework.data.redis.connection.lettuce.StandaloneConnectionProvider.getConnection( StandaloneConnectionProvider.java:115) по адресу org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory$ExceptionTranslatingConnectionProvider.getConnection(LettuceConnectionFactory.java:1595) ... Пропущено 77 общих фреймов. Причина: java.lang.IllegalArgumentException: хост имеет порт: {hostName}:6379 в io.lettuce.core.internal.LettuceAssert.isTrue(LettuceAssert.java:222) в io.lettuce.core.internal .HostAndPort.of(HostAndPort.java:57) по адресу io.lettuce.core.SslConnectionBuilder.toHostAndPort(SslConnectionBuilder.java:109) по адресу io.lettuce.core.SslConnectionBuilder.build(SslConnectionBuilder.java:99) по адресу
Я пытаюсь настроить соединение Redis в моем проекте SpringBoot. Приложение запускается без каких-либо проблем, но когда я пытаюсь протестировать любую операцию Redis, особенно при вызове контроллера REST, который фактически вызывает репозиторий, я продолжаю сталкиваться с той же ошибкой.
Вот версии, которые я использую в своем pom.xml:
org.springframework.boot spring-boot-starter-parent 2.6.6 org.springframework.boot spring-boot-starter-data-redis Ниже приведен класс конфигурации, который я использую для подключения к Redis:
@Configuration @RequiredArgsConstructor общественный класс RedisConfigurationBuilder { частный окончательный RedisProperties redisProperties; @Бин public RedisConnectionFactory redisConnectionFactory() { пытаться { RedisStandaloneConfiguration redisStandaloneConfiguration = новый RedisStandaloneConfiguration (); redisStandaloneConfiguration.setHostName(redisProperties.getHost()); redisStandaloneConfiguration.setPort(redisProperties.getPort()); redisStandaloneConfiguration.setUsername(redisProperties.getUsername()); redisStandaloneConfiguration.setPassword(RedisPassword.of(redisProperties.getPassword())); LettuceClientConfiguration clientConfig = LettuceClientConfiguration.builder().useSsl().and() .commandTimeout(Duration.ofSeconds(2)).build(); вернуть новый LettuceConnectionFactory (redisStandaloneConfiguration, clientConfig); } catch (Исключение е) { throw new RuntimeException("Не удалось настроить Redis", e); } } @Бин public RedisTemplate redisTemplate(RedisConnectionFactory ConnectionFactory) { Шаблон RedisTemplate = новый RedisTemplate(); template.setConnectionFactory(connectionFactory); template.setDefaultSerializer(новый GenericJackson2JsonRedisSerializer()); template.setKeySerializer(новый StringRedisSerializer()); template.setHashKeySerializer(новый GenericJackson2JsonRedisSerializer()); template.setValueSerializer(новый GenericJackson2JsonRedisSerializer()); шаблон возврата; } } Примечание. В трассировке стека я заменил настоящее имя хоста на {hostName, просто чтобы скрыть реальный сервер, к которому я подключаюсь. Сообщение об ошибке выглядит следующим образом:
org.springframework.data.redis.RedisConnectionFailureException: невозможно подключиться к Redis; вложенное исключение: io.lettuce.core.RedisConnectionException: невозможно подключиться к {hostName}:6379/:6379
А это трассировка стека ошибки, которую я постоянно получаю:
org.springframework.data.redis.RedisConnectionFailureException: невозможно подключиться к Redis; вложенным исключением является io.lettuce.core.RedisConnectionException: невозможно подключиться к {hostName}:6379/:6379** в org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory$ExceptionTranslatingConnectionProvider.translateException(LettuceConnectionFactory.java:1689). в org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory$ExceptionTranslatingConnectionProvider.getConnection(LettuceConnectionFactory.java:1597) в org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory$SharedConnection.getNativeConnection(LettuceConnectionFactory.java:1383) в org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) в java.base/java.lang.Thread.run(Thread.java:833) Вызвано: io. lettuce.core.RedisConnectionException: невозможно подключиться к {hostName}/:6379 по адресу io.lettuce.core.RedisConnectionException.create(RedisConnectionException.java:78) по адресу io.lettuce.core.RedisConnectionException.create(RedisConnectionException. java:56) в io.lettuce.core.AbstractRedisClient.getConnection(AbstractRedisClient.java:330) в io.lettuce.core.RedisClient.connect(RedisClient.java:216) в org.springframework.data.redis.connection.lettuce .StandaloneConnectionProvider.lambda$getConnection$1(StandaloneConnectionProvider.java:115) по адресу java.base/java.util.Optional.orElseGet(Optional.java:364) по адресу org.springframework.data.redis.connection.lettuce.StandaloneConnectionProvider.getConnection( StandaloneConnectionProvider.java:115) по адресу org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory$ExceptionTranslatingConnectionProvider.getConnection(LettuceConnectionFactory.java:1595) ... Пропущено 77 общих фреймов. Причина: java.lang.IllegalArgumentException: хост имеет порт: {hostName}:6379 в io.lettuce.core.internal.LettuceAssert.isTrue(LettuceAssert.java:222) в io.lettuce.core.internal .HostAndPort.of(HostAndPort.java:57) по адресу io.lettuce.core.SslConnectionBuilder.toHostAndPort(SslConnectionBuilder.java:109) по адресу io.lettuce.core.SslConnectionBuilder.build(SslConnectionBuilder.java:99) по адресу
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение