[ERROR] JedisPoolConfig not found

반응형

1. 문제

spring boot2 에서 jedis를 사용할 떄 아래와 같이 에러가 발생할 수 있다.

image.png

@SpringBootApplication
public class RedisApplication {

    @Bean
    JedisConnectionFactory jedisConnectionFactory() {
        RedisStandaloneConfiguration redisStandaloneConfiguration = new RedisStandaloneConfiguration("hostname", 6379);
        return new JedisConnectionFactory(redisStandaloneConfiguration);
    }

    @Bean
    RedisTemplate<String, User> redisTemplate(){
        RedisTemplate<String, User> redisTemplate =   new RedisTemplate<>();
        redisTemplate.setConnectionFactory(jedisConnectionFactory());

        return redisTemplate;
    }

    public static void main(String[] args) {
        SpringApplication.run(RedisApplication.class, args);
    }

}

2. 원인

spring boot 2.0 부터 "spring-boot-starter-data-redis"에 jedis가 아닌 lettuce가 기본 클라이언트가 되었기 떄문에 jedis를 지원하지 않아서이다.

3. 해결

만약 jedis를 사용하고 싶으면 아래와 같이 build.gradle에 lettuce 의존성을 제거하고, jedis를 추가해야한다.

build.gradle

   // jedis
    compile group: 'redis.clients', name: 'jedis'
    compile group: 'org.apache.commons', name: 'commons-pool2', version: '2.6.2'
    compile ('org.springframework.boot:spring-boot-starter-data-redis') {
        exclude group: 'io.lettuce', module: 'lettuce-core'
    }

lettuce를 사용하고 싶으면 기존의 "spring-boot-starter-data-redis" 의존성은 그대로 두고 LettuceConnectionFactory를 사용하면된다.

@SpringBootApplication
public class RedisApplication {

    @Bean
    RedisConnectionFactory redisConnectionFactory() {
        return new LettuceConnectionFactory("hostname", 6379);
    }

    @Bean
    RedisTemplate<String, User> redisTemplate(){
        RedisTemplate<String, User> redisTemplate =   new RedisTemplate<>();
        redisTemplate.setConnectionFactory(redisConnectionFactory());

        return redisTemplate;
    }

    public static void main(String[] args) {
        SpringApplication.run(RedisApplication.class, args);
    }

}

추천서적

 

스프링 부트와 AWS로 혼자 구현하는 웹 서비스

COUPANG

www.coupang.com

파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음


반응형

댓글

Designed by JB FACTORY