@MapperScan 에서 annotationClass가 동작하지 않을 때

개발/SPRING2022. 1. 21. 10:44
728x90

 

 

서비스를 운영한지 3년이 넘어가면서
귀차니즘으로 인해 진행하지 않았던 SpringBoot 버전업 작업을 진행했다. 
SpringBoot 1.5 -> SpringBoot 2.3 이상 버전으로 진행 

2.3인 이유는 graceful shut 지원 기능이 있어서 우선 작업을 시작했다. 
기타 삽질은 많았지만 대부분 구글링에 잘 나와 있어서 추후에 정리를 하려고 한다. 

MyBatis 설정 부분에서 Master/Slave 멀티 DataSource를 설정해서 사용 중에 있다. 
특별한 오류 메시지가 없었지만 원하는 Master/Slave Mapper 설정이 먹지 않았다. 

public @interface Master {
}

아래와 같이 처리해 주니 정상적으로 동작하였다. 

@Documented
@Inherited
@Retention(RetentionPolicy.RUNTIME)
@Target({ TYPE, METHOD, FIELD, PARAMETER })
public @interface Master {
}

SpringBoot 2.x로 오면서 기본 DB Connection Pool이 tomcat -> hikari로 변경되면서 이 부분 처리를 함께 처리하면서
문제가 된 줄 알고 삽질을 했다.  

우선 기존에 tomcat JDBC로도 멀티 DataSource 가 잘 되는 것을 확인했다. 

 

 

 

 

 

728x90

작성자

Posted by 일퍼센트

관련 글

댓글 영역