Spring
[springboot] ApplicationPidFileWriter 란?
우주유령
2023. 8. 3. 15:50
728x90
반응형
Why?
외장 톰캣으로 어플리케이션을 재구동한다면 shutdown.sh를 실행하면되지만,
내장 톰캣(스프링 부트) 애플리케이션을 재구동한다면 일반적으로 서버 구동시 pid를 미리 저장해두고 종료가 필요한 시점에해당 pid값으로 kill한다.
바로 이 pid를 만들어주는 방법 중에 하나가 ApplicationPidFileWriter객체의 사용이다.
자동 배포를 할때, 자동으로 재구동하기위해 pid를 설정해준다.
PID 만들기
PID 생성 경로 지정
spring:
pid:
file: test-app.pid # PID 파일 생성 경로 지정
Main 메소드 ApplicationPidFileWriter 생성
@SpringBootApplication 을 적용한 메인 Application의 main()메소드에서 아래와같이 ApplicationPidFileWriter객체를 생성해서 addListeners() 로 리스너에 달아준다.
public static void main(String[] args) {
SpringApplication app = new SpringApplication(Application.class);
app.addListeners(new ApplicationPidFileWriter()); // ApplicationPidFileWriter 설정
app.run(args);
}
728x90
반응형