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().


Читайте также:


Комментарии

Популярные сообщения из этого блога

Методы класса Object в Java

Как получить текущий timestamp в Java

Основные опции JVM для повышения производительности и отладки