【发布时间】:2019-10-16 01:46:22
【问题描述】:
我在 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 文件夹的默认 application.properties。
现在我面临的挑战是,当我在测试配置文件中运行微服务时,它必须从配置服务器获取属性文件,该配置服务器从 github 存储库克隆它。
在这种情况下,redis 服务显示这样的错误
[ERROR][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 配置。
请帮我解决这个问题。
【问题讨论】:
标签: git spring-boot redis spring-cloud-config application.properties