从config-server

时间:2019-05-30 11:42:06

标签: git spring-boot redis spring-cloud-config application.properties

我有一个Redis服务在localhost:6379中运行,并且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文件夹中的默认application.properties。

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

在这种情况下,redis服务显示了这样的错误

  

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

仅当我从config-service获取属性文件时,才会发生此错误。

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

请帮助我解决此问题。

1 个答案:

答案 0 :(得分:1)

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