spring boot를 사용하다보면 명시적으로 자원을 close 해주어야 하는 경우가 있습니다.
이때 spring boot destory event 발생 시 자원을 close해주는 코드를 추가해주면 됩니다.
public class ShutdownHookConfiguration {
public void destroy() {
/* close 로직*/
}
}
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
@Bean(destroyMethod = "destroy")
public ShutdownHookConfiguration shutdownHookConfiguration() {
return new ShutdownHookConfiguration();
}
}
ShutdownHookConfiguration 클래스를 생성하고 destroy 메소드를 선언한 후 close 로직을 작성합니다.
그런 다음 SpringBootAplication 어노테이션을 등록한 클래스에 ShutdownHookConfiguration 클래스를 Bean으로 등록한 다음 destroyMethod에 destory메소드를 등록해줍니다.
'IT > Spring' 카테고리의 다른 글
[SpringBoot] 이메일 전송 (Gmail SMTP Server) (2) | 2021.04.30 |
---|---|
[SpringBoot] tomcat 종료 시 logback thread가 종료되지 않을 경우 (0) | 2021.04.05 |
[Spring Boot] 간단하게 @Scheduled 사용하기 (0) | 2021.03.31 |
[Spring Boot] thymeleaf 사용방법 (2) | 2021.02.15 |
[Spring] thymeleaf-layout-dialect WARN 해결 (0) | 2021.02.15 |