Skip to content

스프링 부트 4에서 사라진 언더토우(Undertow) ​

최근 Spring Boot 4 학습을 위해 데모 프로젝트를 만들다가, 오랫동안 기본 톰캣(Tomcat) 대신 즐겨 사용하던 언더토우(Undertow) 지원이 공식적으로 종료된 사실을 알게 되었어요. 예전에 국내 개발자 커뮤니티(OKKY)의 글을 접한 이후, Undertow가 톰캣 대비 가볍고 성능(처리량 및 메모리 점유율)이 뛰어나다는 장점 때문에 실무 프로젝트 등에서 기본 톰캣 대신 언더토우로 전환하여 오랫동안 사용해 왔었는데요. 그동안 스프링 부트에서 공식 지원하던 Undertow가 왜 제거되었는지 그 구체적인 배경이 궁금하여 직접 찾아보고 정리해 보았습니다.

Undertow의 Jakarta Servlet 6.1 미지원 ​

Spring Boot 4.0은 Jakarta Servlet 6.1 스펙을 최소 베이스라인으로 요구해요. 하지만 Spring Boot 4.0 릴리즈 준비 단계에서 Undertow는 Servlet 6.1을 지원하지 않았던 상태였나 봐요. 등록된 스프링 부트 이슈(#46917)에 따르면, 이 호환성 문제로 인해 Spring Boot 4.0에서는 spring-boot-starter-undertow 스타터 의존성과 자동 설정을 제거할 수밖에 없었다고 합니다. 최소 사양을 충족하지 못하는 서블릿 컨테이너를 프레임워크 수준에서 안고 갈 수는 없었기 때문이에요.

Undertow 2.4.0.Final 릴리즈 및 Jakarta Servlet 6.1 지원 ​

2026년 5월 6일, Undertow 진영에서 Jakarta Servlet 6.1 스펙을 공식적으로 지원하는 Undertow 2.4.0.Final 버전을 릴리즈했어요.

하지만 이보다 앞선 2026년 4월 9일 에 확정된 이슈 답변에 따르면, 스프링 부트 팀은 공식적으로 재도입할 계획이 없음을 확정해 둔 상태였습니다. 코어 수준의 공식 지원 대신 신뢰할 수 있는 커뮤니티 모듈이 개발된다면 스타터 README 목록에 기꺼이 등록해 주겠다는 가이드라인만 제시하고 있죠.

이러한 결정은 프레임워크 생태계의 안정성을 고려한 스프링 부트 진영의 어쩔 수 없는 선택으로 보여요.

Undertow 프로젝트의 마이그레이션 방향 ​

공식 지원이 중단된 만큼 Spring Boot 4.0 마이그레이션 시점에는 기본 Tomcat(톰캣)으로의 전환을 권장 해요. 우선은 기본 톰캣으로 먼저 전환하여 애플리케이션의 기능과 동작을 검증하는 것이 가장 안전하며, 톰캣보다 가볍고 도커 컨테이너 환경에 더 적합해 보이는 경량 Jetty(제티) 라는 선택지도 함께 고려해 볼 수 있습니다.

Released under the MIT License.