Как реализовать graceful shutdown в Spring Boot?

Middle
246 просмотров
AFK Offer AI

Spring Boot 2.3+ поддерживает graceful shutdown из коробки: server.shutdown=graceful, spring.lifecycle.timeout-per-shutdown-phase=30s. При SIGTERM: прекращает принимать новые запросы, ждёт завершения в-полёте запросов до timeout, закрывает ресурсы (@PreDestroy, DisposableBean). Kubernetes: terminationGracePeriodSeconds должен быть >= timeout + overhead. Проблема: активные Kafka consumer loops — нужно смотреть на shutdownHook и executor awaitTermination. @PreDestroy для ручной очистки.

Следующий вопрос

Что нового в switch expressions?