
모던 백엔드 - 컨텍스트 전파 리팩토링(3)
두줄요약
게시판 프로젝트의 ThreadLocal 기반 컨텍스트 전파를 Java 25 ScopedValue로 리팩토링했습니다. Servlet Filter와 StructuredTaskScope를 수정해 수동 컨텍스트 관리 코드를 제거합니다.
문제 상황
- 게시판 프로젝트의 ThreadLocal 기반 RequestContext 관리
- 구조화된 동시성 환경에서 set·clear·finally 수동 관리 코드
해결 방법
- Java 25 ScopedValue 기반 RequestContext 홀더로 전환
- SYSTEM 상수와 runWith·callWith·getOrSystem·isBound 구현
- Servlet Filter 요청 진입점의 ScopedValue 바인딩 및 예외·제네릭 추론 이슈 처리
구조와 흐름
- PostCreationCoordinator의 ThreadLocal 수동 관리 로직 제거
- StructuredTaskScope와 ScopedValue 결합을 통한 컨텍스트 전파
적용해볼 점
- ThreadLocal 제거를 위한 홀더·요청 필터·비즈니스 로직 순차 리팩토링
- 범위 기반 컨텍스트 관리로 동시성 코드의 정리와 안전성 확보
