从配置服务器获取 application.properties 时发生 Redis 连接失败错误
Redis Connection Failure error occurs when getting application.properties from config-server
我在 localhost:6379 中有一个 Redis 服务 运行ning 并且 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] Connection failure occurred. Restarting subscription task after 5000 ms
此错误仅在我从配置服务获取属性文件时发生。
github 存储库中的应用程序-test.properties 也具有正确的 redis 配置。
请帮我解决这个问题。
终于,经过大量调试,我发现了问题所在。这是由于 spring.redis.host=localhost
末尾不需要的 space 导致了此问题。
我在 localhost:6379 中有一个 Redis 服务 运行ning 并且 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] Connection failure occurred. Restarting subscription task after 5000 ms
此错误仅在我从配置服务获取属性文件时发生。
github 存储库中的应用程序-test.properties 也具有正确的 redis 配置。
请帮我解决这个问题。
终于,经过大量调试,我发现了问题所在。这是由于 spring.redis.host=localhost
末尾不需要的 space 导致了此问题。