Найти в Дзене
Java

🚀 Spring Boot: настрой graceful shutdown с таймаутом

Когда сервис перезапускается (deploy / autoscaling / rolling update), без graceful shutdown часть HTTP-запросов может: - оборваться на полпути - вернуть 5xx - прервать фоновые потоки слишком рано В Spring Boot это решается одной настройкой - задаёшь таймаут на “мягкое” завершение: ✅ сервер перестанет принимать новые запросы ✅ но даст текущим запросам и бинам закончить работу ✅ и только потом завершится Пример: server: shutdown: graceful spring: lifecycle: timeout-per-shutdown-phase: 20s Идеально для продакшена, особенно если у тебя: - Kubernetes rolling update - долгие запросы - async обработчики / очереди - фоновые задачи

🚀 Spring Boot: настрой graceful shutdown с таймаутом

Когда сервис перезапускается (deploy / autoscaling / rolling update), без graceful shutdown часть HTTP-запросов может:

- оборваться на полпути

- вернуть 5xx

- прервать фоновые потоки слишком рано

В Spring Boot это решается одной настройкой - задаёшь таймаут на “мягкое” завершение:

✅ сервер перестанет принимать новые запросы

✅ но даст текущим запросам и бинам закончить работу

✅ и только потом завершится

Пример:

server:

shutdown: graceful

spring:

lifecycle:

timeout-per-shutdown-phase: 20s

Идеально для продакшена, особенно если у тебя:

- Kubernetes rolling update

- долгие запросы

- async обработчики / очереди

- фоновые задачи