DEV 2026.05.05 · 12 min
Intermediate Modern Java In Action · 5
CompletableFuture는 왜 Future를 버렸는가
블로킹 get()의 한계부터 Treiber 스택 콜백 체인, thenApply/thenCompose/thenCombine 선택 기준, Executor 설계, 예외 처리 3가지, allOf/anyOf 패턴까지 비동기 파이프라인 설계의 핵심을 추적한다.
총 5개의 글
블로킹 get()의 한계부터 Treiber 스택 콜백 체인, thenApply/thenCompose/thenCombine 선택 기준, Executor 설계, 예외 처리 3가지, allOf/anyOf 패턴까지 비동기 파이프라인 설계의 핵심을 추적한다.
비동기 처리부터 SSE, 파일 업로드, 정적 리소스, HTTP 캐싱, WebMvcConfigurer까지 — Spring MVC 내부 처리 경로의 공통 설계 원칙을 추적한다.
AsyncItemProcessor의 Future 위임부터 Multi-threaded Step의 Thread-safety, @StepScope Late Binding, 이벤트 기반 배치 트리거까지 — 병렬 처리 설계 결정을 추적한다.
publishEvent() 내부 구조부터 @TransactionalEventListener의 트랜잭션 바인딩까지, Spring ApplicationEvent 메커니즘의 실행 흐름을 추적한다.
Filter와 HandlerInterceptor의 실행 위치 차이부터 비동기 요청에서 ThreadLocal 오염이 발생하는 이유까지, Spring MVC 요청 처리 계층의 설계 원칙을 추적한다.