Java LTS 25 변경사항 요약
·
Code/Java
1. 서론사이드 프로젝트를 새로 진행하며 Java / Spring 버전에 대한 스택을 정하려고 했는데요.최근 2025년 9월에 출시한 Java 25에 대한 내용을 정리 해봤습니다.25버전은 LTS 버전으로 출시되었으며, 스탠다드 라이브러리, API와 런타임에 대한 변경점이 있었습니다.2. JEP 506 - Scoped Values / ThreadLocal 대체기존에 ThreadLocal은 누수와 복잡한 라이프사이클 관리 문제가 있었다고 합니다. Java 25의 Scoped Values는 읽기 전용 컨텍스트 값을 블록 범위로 안전하게 전달하는 방식이라, 비동기·가상 스레드에서도 깔끔하게 동작한다고 하는데요. 아래의 예를 살펴보겠습니다.import java.lang.scoped.ScopedValue;publ..
HttpServletRequest Body를 여러번 읽을 수 없을까? - ContentCachingRequestWrapper
·
Code/Spring
Request Body에 대한 로그를 Filter 단계에서 찍고 싶을 때...API를 개발하다 보면 "어떤 데이터를 바탕으로 에러가 나지?"라는 생각으로 재현하고 싶을 때가 있습니다. 이때 가장 먼저 확인하고 싶은 것이 바로 Request Body(JSON) 의 내용입니다.하지만 그냥 로그를 찍으면 Stream Closed 에러가 발생하거나, 컨트롤러 계층에서 비어있는 요청이 전달되게 됩니다.오늘은 이 문제의 근본적인 원인인 HttpServletRequest의 특징부터 이를 해결할 수 있는ContentCachingRequestWrapper에 대해서 알아보겠습니다.1. HttpServletRequest에 대해서..가장 먼저 우리가 다루고 있는 객체, HttpServletRequest 에 대해 간단히 짚고 ..