요청마다 Connection Pool과 SessionFactory를 만들면 생기는 문제
DB Connection 232개를 단순 누수가 아니라 Pool 객체의 반복 생성 문제로 좁히고, DataSource와 SessionFactory의 생명주기를 애플리케이션 단위로 재설계한 과정입니다.
TECHNICAL SERIES
연결 생명주기와 DB 경계부터 요청 계약, 다국어 처리, 검증과 런타임 충돌까지 이어지는 현대화 과정입니다.
READ IN ORDER
문제의 발견부터 설계와 운영 안정화까지 실제 판단 순서로 정리했습니다.
DB Connection 232개를 단순 누수가 아니라 Pool 객체의 반복 생성 문제로 좁히고, DataSource와 SessionFactory의 생명주기를 애플리케이션 단위로 재설계한 과정입니다.
DB Link를 직접 DataSource 접근으로 바꾼 뒤, Mapper를 분리하면서도 Service의 트랜잭션 경계를 유지하기 위해 Atomikos 기반 JTA 구성을 적용한 판단과 검증 한계를 정리했습니다.
브라우저 언어가 아니라 URL과 법인 환경이 언어를 결정하던 시스템에서, 기존 호출 계약을 유지하며 요청 초기에 Locale을 확정한 과정을 정리합니다.
기존 URL과 연계 시스템의 축약형 파라미터 규격은 유지하면서, Spring MVC 확장으로 내부 DTO에 의미가 명확한 필드명을 적용한 과정입니다.
같은 다운로드 DTO를 재사용하는 레거시 API마다 필수 필드가 달라, 표준 Bean Validation 제약과 호출별 검증 맥락을 분리한 설계 과정입니다.
애플리케이션에 포함한 Driver보다 서버 공용 구형 Driver가 먼저 로딩된 사실을 증명하고, 다른 애플리케이션의 자체 패키징을 보완한 뒤 공용 의존성을 정리한 과정입니다.