У меня есть простой веб-сервис, использующий аннотации @PostConstruct
и @PreDestory
.
@PostConstruct
private void init() {...} //initialize some database connection
@PreDestroy
private void release() {...} //release data base resources
тогда клиент вызовет некоторые веб-методы для выполнения некоторых операций с базой данных.Я сделал простое тестирование, установив точки останова в коде.@PostConstruct
работает отлично.но метод @PreDestroy
никогда не вызывается.
Я думал, что @PreDestroy
всегда будет вызываться, когда клиент заканчивает вызывать веб-метод, поскольку веб-служба по своей природе не имеет состояния.Таким образом, в конце концов, экземпляр всегда уничтожается, и до этого мой метод освобождения должен быть вызван?Это правильное понимание?
Но после прочтения некоторых онлайн-ресурсов я запутался.некоторые говорят, что @PreDestroy
будет вызываться, когда он не развернут?