반응형
현재 상황
한개의 spring boot 에 두개의 redis를 연결해야 하는 상황
기존 코드는 한개의 redis 만 연결해 두었으나 변경하게 되면서,
config/하위 폴더에
- RedisDevConfig
- RedisRealConfig
이렇게 두개의 Config 를 만들어두게 되었다
@Bean(name = ["devRedisConnectionFactory"])
@Qualifier("devRedisConnectionFactory") redisConnectionFactory: RedisConnectionFactory
이렇게 Bean 이름을 각각 명시해주고, Qualifier 로 해당 이름의 빈을 가져와서 쓰면 될것이라고 생각했다.
오류 발생
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'redisTemplate' available
Description:
A component required a bean named 'redisTemplate' that could not be found.
Action:
Consider defining a bean named 'redisTemplate' in your configuration.
해결방법
RedisTemplate 타입의 빈 두개를 각각
- devRedisTemplate
- realRedisTemplate
위 두가지 이름으로 만들어줬었는데, redis 관련 라이브러리에서 redisTemplate 이라는 이름을 찾는것으로 보인다.
결국 devRedisTemplate -> redisTemplate 이름 변경하였다.
이름은 원래대로 dev/real로 사용하고 문제를 해결하는 방법은 없었을까?
반응형