SpringBoot15 Spring OpenFeign의 FeignContext 동작 및 ApplicationContext과의 관계 최근 실무에서 요청 스코프 빈(@Scpoe("request")을 참조해버린 Feign 인터셉터 문제로, 컨텍스트 경계를 이해하고 나서 정리했습니다. 요약Spring Cloud OpenFeign은 서비스마다 독립적인 FeignContext를 만든다.@FeignClient(configuration=...)에 넣은 설정과 빈들은 그 클라이언트 전용으로만 로드된다.전역 @Component로 둔 인터셉터가 RequestScope 빈을 건드리면, 웹 요청 스레드 밖(코루틴 등)에서 Scope 'request' is not active가 터질 수 있다.FeignContex의 로컬 Intercepter를 주입해서 해결한다. 문제상황ApplicationContext (루트)│├─ 일반 빈들 (@Service, @Comp.. 2025. 11. 1. Kotlin +Spring Boot의 private constructor와 static 생성자를 활용한 객체 유효성 검증 실무에서 도메인 객체를 다루다 보면, 아무 곳에서나 Entity의 생성자를 호출하거나 setter로 상태를 바꾸는 일이너무 자연스럽게 벌어질 수 있습니다.검증되지 않은 상태로 객체가 생성되어 저장됨서비스나 팩토리 등 도메인 외부에서 일일이 유효성 검사를 수행함ex) 도메인 바깥 검증 예시if (request.name.isBlank()) { throw IllegalArgumentException("캠페인 이름은 필수입니다.")}if (request.items.isEmpty()) { throw IllegalArgumentException("아이템 목록이 비어 있습니다.")}val items = itemRepository.findAllByIds(request.itemIds)if (items.any .. 2025. 7. 25. Sql In, Not In 절 (JDBC JPA) QueryDsl 활용 where 문의 or 대신 in을 활용하려 한다.이유는 or는 인덱스 활용 불가능이고 in은 인덱스를 활용할 수 있어 in 절이 속도 면에서 우위가 있다. - sql in 절의 특징sql in ( “1”,”2”) 의 경우는 내부 콤마가 or가 되고.sql Not In (“1”, “2”)의 경우는 내부 콤마가 and가 된다. - Query dsl 특징where(000, 000) 의 경우는 내부 콤마가 and가 된다 - 실제 동적쿼리 적용 코드 @Override public List findByReceiverIdAndStatusOrStatus(String receiverId, AcceptStatus... acceptStatuses) { List kdKDGifts = queryFacto.. 2023. 1. 17. Eureka, Zuul 참고 블로그 (로드밸런싱) 보호되어 있는 글 입니다. 2023. 1. 4. 이전 1 2 3 4 다음