실행 중인 Spring Boot pid 파일 생성
토이 프로젝트를 서버에 배포한 후 기존에 실행되던 spring boot 애플리케이션을 죽이고(kill) 재실행하기 위해 pid를 이용했다.
- 애플리케이션 배포
- 기존 실행되던 애플리케이션 종료
- 배포된 애플리케이션 실행
무식한 방법으로 기존에 실행하던 애플리케이션을 죽이기로 했다. kill 하기 위해서 pid(process id)가 필요했다. 그래서 Spring boot 애플리케이션 실행 시 실행된 애플리케이션의 pid를 생성하는 방법을 찾아봤다. 쉽다.
public static void main(String[] args) {
SpringApplicationBuilder builder = new SpringApplicationBuilder(BookUPApplication.class);
builder.build().addListeners(new ApplicationPidFileWriter("./bin/shutdown.pid"));
builder.run();
}
아마 spring boot를 사용하면 대부분 main method를 통해서 embedded WAS를 실행할 것이다. 이때 ApplicationPidFileWriter
클래스를 사용해 pid를 생성해주면 된다. pid가 기록된 파일 경로만 지정해주면 끝.
출처 : https://blog.woniper.net/363?category=699184
'Spring Framework > Spring boot' 카테고리의 다른 글
Spring-MVC 읽기 #4. AbstractContextLoaderInitializer (0) | 2020.09.04 |
---|---|
Spring-MVC 읽기 #3. Spring-MVC의 시작 (0) | 2020.09.04 |
Spring-MVC 읽기 #2. 빌드 (0) | 2020.09.04 |
Spring-MVC 읽기 #1. 나는 왜 오픈소스를 읽을까? (0) | 2020.09.04 |
CompletableFuture 비동기 처리로 성능 개선하기 (0) | 2020.09.04 |
Spring Data JPA 같은 이름, 다른 type인 2개의 @Entity인 경우 주의 사항 (0) | 2020.09.04 |
Spring Batch의 동작 코드 #Step 생성과 실행 (0) | 2020.09.04 |
Spring Batch의 동작 코드 #Job 생성과 실행1 (0) | 2020.09.04 |