Встречается на собеседованиях • сегодня
Как не навредить и дать возможность остановиться сервису в случае отказа
Для безопасной остановки сервиса в Java используйте механизмы graceful shutdown:
- Shutdown Hooks - регистрируйте через
Runtime.getRuntime().addShutdownHook()для завершения ресурсов:
java
Runtime.getRuntime().addShutdownHook(new Thread(() -> {
// Закрытие соединений, сохранение состояния
dbConnection.close();
cache.flush();
}));-
Обработка сигналов - ловите
SIGTERM(kill -15) для корректного завершения. -
Используйте ExecutorService с правильным shutdown:
java
executor.shutdown();
executor.awaitTermination(10, TimeUnit.SECONDS);
executor.shutdownNow();- Spring Boot Actuator - для управляемого shutdown через HTTP:
properties
management.endpoint.shutdown.enabled=true- Health Checks - реализуйте
/healthendpoint для мониторинга.
Важно: освобождайте ресурсы (БД, файлы, сетевые соединения), сохраняйте критичные данные, логируйте процесс остановки.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы