从配置服务器获取应用程序属性时发生 Redis 连接失败错误



我在localhost:6379中运行了一个Redis服务,spring-boot 微服务通过从application.properties文件中读取主机名和端口来连接到这个redis服务。

@Configuration
public class RedisConfiguration {
/**
* redis host.
*/
@Value("${spring.redis.host}")
private String redisHost;
/**
* redis port.
*/
@Value("${spring.redis.port}")
private int redisPort;

@Bean
JedisConnectionFactory jedisConnectionFactory() {
RedisStandaloneConfiguration redisConf = new RedisStandaloneConfiguration(redisHost, redisPort);
return new JedisConnectionFactory(redisConf);
}

在 application.properties 文件中,给出的属性是 -

spring.redis.host=localhost 
spring.redis.port=6379

当我在默认配置文件中运行微服务时,这非常有效,它使用/src/main/resources文件夹中的默认应用程序属性。

现在我面临的挑战是,当我在测试配置文件中运行微服务时,它必须从从 github 存储库克隆它的配置服务器获取属性文件。

在这种情况下,redis 服务显示如下错误

[错误][

2019-05-30 15:48:33,761][pool-1-thread-4|org.springframework.data.redis.listener.RedisMessageListenerContainer:handleSubscriptionException:651] 发生连接失败。5000 毫秒后重启订阅任务

仅当我从配置服务获取属性文件时,才会发生此错误。

github 存储库中的 application-test.properties 也具有正确的 redis 配置。

请帮我解决这个问题。

最后,经过大量调试,我发现了出了什么问题。这是由于spring.redis.host=localhost末尾不需要的空间导致了此问题。

最新更新