Spring Boot: SpringApplication, выход из приложения
Каждое SpringApplication регистрирует перехватчик завершения работы с JVM, чтобы обеспечить корректное закрытие ApplicationContext при выходе. Можно использовать все стандартные обратные вызовы жизненного цикла Spring (такие как интерфейс DisposableBean или аннотация @PreDestroy).
Кроме того, bean-компоненты могут реализовывать интерфейс org.springframework.boot.ExitCodeGenerator, если они хотят вернуть определенный код завершения при вызове SpringApplication.exit(). Затем этот код завершения можно передать в System.exit(), чтобы вернуть его в виде кода состояния, как показано в следующем примере:
@SpringBootApplication
public class ExitCodeApplication {
@Bean
public ExitCodeGenerator exitCodeGenerator() {
return () -> 42;
}
public static void main(String[] args) {
System.exit(SpringApplication.exit(SpringApplication.run(ExitCodeApplication.class, args)));
}
}
Кроме того, интерфейс ExitCodeGenerator может быть реализован исключениями. При обнаружении такого исключения Spring Boot возвращает код завершения, предоставленный реализованным методом getExitCode().
Читайте также:
- Spring Boot: класс SpringApplication
- Spring Boot: SpringApplication, доступ к аргументам приложения
- Spring Boot: использование ApplicationRunner или CommandLineRunner
Комментарии
Отправить комментарий