java – 错误redis客户端jedis HostAndPort无法解析localhost地址

我在AWS上托管我的应用程序.我已经配置了我的属性文件,如下所示spring.redis.host = {AWS主机端点}spring.redis.port = 6379我的应用程序之间的连接工但是,spring会在连接到aws主机端点之前首先尝试连接到本地主机...

我在AWS上托管我的应用程序.我已经配置了我的属性文件,如下所示

spring.redis.host = {AWS主机端点}
spring.redis.port = 6379

我的应用程序之间的连接工但是,spring会在连接到aws主机端点之前首先尝试连接到本地主机,因此会抛出错误.错误如下所示.

2017-05-30 10:37:58.203 [main] ERROR redis.clients.jedis.HostAndPort:
 cant resolve localhost address

我该如何解决这个问题,谢谢

编辑
下面显示了我的Redis配置类

@Configuration
@EnableCaching
public class RedisCacheConfig {

    final Logger logger = LoggerFactory.getLogger(RedisCacheConfig.class);

    JedisConnectionFactory connectionFactory;

    @Autowired
    public RedisCacheConfig(JedisConnectionFactory connectionFactory) {
        this.connectionFactory = connectionFactory;
    }

    @Bean
    @Autowired
    public CacheManager getCacheManager(CacheExpiration expiration) {
        RedisCacheManager manager = new RedisCacheManager(getRedisTemplate());
        manager.setExpires(expiration.getMapper());
        //expiration.getMapper();
        return manager;
    }

    @Bean
    public RedisTemplate getRedisTemplate() {
        RedisTemplate template = new RedisTemplate();
        template.setConnectionFactory(connectionFactory);
        template.setValueSerializer(new GenericJackson2JsonRedisSerializer());
        return template;
    }
}

解决方法:

这个错误在6月15日的Jedis中似乎是fixed,所以应该包括在下一个版本中.

在此期间,您始终可以构建最新的master并在项目中使用该JAR.请记住在项目中包含Jedis的依赖项.

要从最新的Jedis master(目前版本为3.0.0-SNAPSHOT)构建JAR:

$git clone https://github.com/xetorthio/jedis.git
$cd jedis
$mvn -Dmaven.test.skip=true package
$mkdir -p /path/to/your/project/lib
$cp target/jedis-3.0.0-SNAPSHOT.jar /path/to/your/project/lib/

示例带有包含依赖项的build.gradle代码段:

dependencies {
    file project.file("lib/jedis-3.0.0-SNAPSHOT.jar")
    compile "org.slf4j:slf4j-api:1.7.22"
    compile "org.apache.commons:commons-pool2:2.4.2"
}

如果你想使用最新版本,只需添加补丁,你可以将它选择到2.9.0标签,如下所示:

$git clone https://github.com/xetorthio/jedis.git
$cd jedis
$git checkout jedis-2.9.0
$git cherry-pick 42a6523041e710087640ceaab11d3abcd34f3a72

这将导致您必须合并的冲突,但是kdiff3会自动为我解决所有冲突,因此根据您正在使用的合并工具,除了运行$git mergetool并按[enter]之外,您可能不需要执行任何操作.

在解决了你刚刚构建的冲突之后,你最终会得到一个名为jedis-2.9.0-SNAPSHOT.jar的JAR.

本文标题为:java – 错误redis客户端jedis HostAndPort无法解析localhost地址

基础教程推荐