Встречается на собеседованиях • сегодня
Какие знаешь ситуации, когда метод с аннотацией PreDestroy никогда не сработает у Bean в Spring
Метод с @PreDestroy не будет вызван в следующих случаях:
-
Принудительное завершение JVM (например,
System.exit()или kill -9). Spring не успевает вызвать хуки. -
Bean создан с областью видимости prototype - Spring не управляет полным жизненным циклом таких бинов, только инициализацией.
-
Ошибка при создании контекста - если ApplicationContext не может быть создан, destroy-методы не выполняются.
-
Bean создан через
new- аннотации Spring не работают для объектов, созданных вручную. -
Использование
@Scope("request")/@Scope("session")в standalone-приложении без поддержки веб-контекста.
Пример для prototype:
java
@Component
@Scope("prototype")
public class PrototypeBean {
@PreDestroy
public void cleanup() {
// Этот метод никогда не вызовется
}
}
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы