git - 从 config-server 获取 application.properties 时出现 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
当我在默认配置文件中运行微服务时,这非常有效,它使用文件夹中的默认application.properties/src/main/resources
。
现在我面临的挑战是,当我在测试配置文件中运行微服务时,它必须从 config-server 获取属性文件,该文件从 github repo 克隆它。
在这种情况下,redis 服务显示如下错误
[错误][2019-05-30 15:48:33,761][pool-1-thread-4|org.springframework.data.redis.listener.RedisMessageListenerContainer:handleSubscriptionException:651] 发生连接失败。5000毫秒后重启订阅任务
仅当我从配置服务获取属性文件时才会发生此错误。
github repo 中的 application-test.properties 也具有正确的 redis 配置。
请帮我解决这个问题。
解决方案
最后,经过大量调试,我发现出了什么问题。这是由于最后不需要的空间spring.redis.host=localhost
导致了这个问题。
推荐阅读
- android - 协程中的热流和冷流是什么,它们之间的区别是什么?
- scala - 火花中的kafka偏移
- laravel - 运行工匠命令 laravel 时,字符串(4)“asas”在控制台中被 throen
- spring - 如何一起使用 spring-cloud-starter-config 和 spring-boot-devtools?
- c# - 需要帮助为新的 Azure queueClient 版本设置 QueueMessageEncoding.Base64
- c# - .Net 5 Api:将结果返回给调用者,然后运行一些代码
- python - 使用 API 从 Morningstar 抓取数据
- javascript - 添加/删除事件监听器,同时保持“this”的实例上下文
- django-rest-framework - 错误 401:invalid_client 未找到 OAuth 客户端
- ios - iOS:BGProcessingTaskRequest 因 CPU 使用率高而被杀死