Назад к вопросам
Junior — Middle
69
Действует ли аннотация @PreDestroy для бина с синглтонским диапазоном жизненного цикла в Spring в любой ситуации?
Компании, где спрашивали
Stroki
Ответ от нейросети
sobes.tech AI
Аннотация @PreDestroy в Spring применяется для методов, которые должны быть вызваны перед уничтожением бина. Для бинов с синглтонским скоупом @PreDestroy вызывается при завершении работы контекста Spring (например, при остановке приложения).
Однако в некоторых ситуациях метод с @PreDestroy может не вызваться:
- Если приложение аварийно завершилось (например, процесс был убит).
- Если бин не управляется Spring (например, создан вручную без контекста).
- Если контекст Spring не закрывается корректно.
Таким образом, @PreDestroy гарантированно срабатывает для синглтонских бинов при корректном завершении работы Spring-контекста, но не во всех возможных ситуациях.