JedisConnectionFactory setHostName is deprecated

Michael Draper picture Michael Draper · Feb 28, 2018 · Viewed 19.6k times · Source

This will be my first time connecting Spring to Redis. The documentation for jedis connection factory: http://www.baeldung.com/spring-data-redis-tutorial

Offers the following code:

@Bean
JedisConnectionFactory jedisConnectionFactory() {
    JedisConnectionFactory jedisConFactory
            = new JedisConnectionFactory();

    jedisConFactory.setHostName("localhost");
    jedisConFactory.setPort(6379);
    return jedisConFactory;
}

Looks great, but my IDE is telling me that the setHostName and setPort methods have been deprecated (even though I'm using the versions from the tutorial).

I was wondering if anyone had a simple "get spring data connected to redis" example that uses the non-deprecated API calls?

Answer

Tehnaz picture Tehnaz · Feb 28, 2018

With Spring Data Redis 2.0, those methods have been deprecated. You now need to configure using RedisStandaloneConfiguration

Reference: https://docs.spring.io/spring-data/redis/docs/current/api/org/springframework/data/redis/connection/jedis/JedisConnectionFactory.html#setHostName-java.lang.String-

Example:

JedisConnectionFactory jedisConnectionFactory() {
    RedisStandaloneConfiguration redisStandaloneConfiguration = new RedisStandaloneConfiguration("localhost", 6379);
    redisStandaloneConfiguration.setPassword(RedisPassword.of("yourRedisPasswordIfAny"));
    return new JedisConnectionFactory(redisStandaloneConfiguration);
}