Personal open source work · built on my own time, not company work

Spring Boot Graceful Shutdown - Java Package

Spring Boot Graceful Shutdown 패키지 썸네일

Spring Boot Graceful Shutdown은 Spring Boot 애플리케이션의 정상 종료(graceful shutdown)를 처리하는 Java 라이브러리입니다. 쿠버네티스 롤링 배포처럼 인스턴스가 수시로 내려가는 환경에서 처리 중이던 요청이 끊기는 것을 막습니다. 종료 신호를 받으면 새 요청을 거절하고, 진행 중인 요청이 끝날 때까지 기다린 뒤, 등록한 순서대로 리소스를 정리하고 종료합니다.

Spring Boot 2.3에서 server.shutdown=graceful이 내장되기 전에 만든 라이브러리입니다. Spring Boot 생명주기에 그대로 얹히므로 의존성만 추가하면 동작하고, 리소스별로 종료 훅을 따로 등록할 수 있습니다.

주요 기능

  • 의존성 추가만으로 Spring Boot에 자동 연동
  • 종료 대기 타임아웃 설정
  • 다단계 종료 (요청 완료 → 리소스 정리 → 프로세스 종료)
  • 처리 중인 HTTP 요청 완료 보장
  • DB 커넥션 풀·스레드 풀 정리
  • 프로퍼티 기반 설정

사용 기술

  • Java, Spring Boot, Spring Framework
  • Maven, Gradle
  • JUnit (테스트), SLF4J (로깅)

저장소·패키지