Лучший способ запустить exit logi c при случайном отключении модуля - PullRequest
0 голосов
/ 03 февраля 2020

Я работаю над приложением весенней загрузки, и мы развертываем через kubernetes. Мое требование - запустить какую-то логи c в случае сбоя модуля, его удаления или намеренного закрытия. В настоящее время я использую @ PreDestroy для запуска логики при выходе.

@Component
public class EngineShutDownHook{

private static final Logger LOGGER = LoggerFactory.getLogger(EngineShutDownHook.class);

@PreDestroy
public void onExit() {
    LOGGER.info("Shutting engine.");
    System.out.println(" engine is stopping.");
}
}

Однако я не уверен, будет ли этот код выполняться на всех возможных сценариях выхода ios. Я также узнал о весеннем ExitCodeGenerator . Можете ли вы предложить, какой лучший способ добиться этого?

1 Ответ

1 голос
/ 03 февраля 2020

Использование Крюки жизненного цикла контейнера из K8s

PreStop: Этот хук вызывается непосредственно перед завершением контейнера из-за запроса API или события управления, такого как живучесть сбой зонда, прерывание работы, конфликт ресурсов и др.

...