Я работаю в настоящее время с Spring Boot, Tomcat и AWS Elastic Beanstalk.Развертывание новой версии приложения Spring для ElasticBeanstalk, @PreDestroy не вызывается?
У меня есть несколько компонентов, которые я хочу сохранить немного информации на диск перед перезагрузкой сервера, а затем загрузить его обратно, когда сервер перезагрузится.
Что я вижу, так это то, что аннотированные функции @PostConstruct
вызываются при каждом запуске приложения, но я никогда не вижу вызывающего вызова @PreDestroy
.
Я был в предположении, что контекст закрывался изящно, когда я обновляю среду (отдельную среду). Есть ли что-то, что мне нужно добавить в свойство Application, чтобы вызвать его для вызова @PreDestroy
?
Я использую все аннотации и никакой конфигурации XML для этого.
@Component
public class SomeStructs {
static Logger log = LoggerFactory.getLogger(BuzzStructs.class);
@PostConstruct
public void onCreate(){
log.info("Creating Buzz Structs!");
}
@PreDestroy
public void onDelete(){
log.info("Deleting Buzz Structs!");
System.out.println("Deleting Junk");
}
}
Для этого кусок кода, то @PostConstruct
всегда называется, но @PreDestroy
никогда не бывает.
Любая помощь приветствуется!