@PreDestroy не вызывается в ресурсе JAX-RS, как мне закрыть/освободить ресурсы?

У меня есть класс Java, помеченныйjakarta.ws.rs-apiаннотации, которые являются классом ресурсов отдыха. Я создал службу исполнителя как часть класса ресурсов (который содержит методы с аннотациями, такими как @GET, @PUT и т. д.), и ищу способ закрыть эту службу исполнителя после завершения работы контейнера сервлетов (причал с использованием Джерси). Я наткнулся на аннотацию @PreDestroy, использовал ее в классе ресурсов, но она не вызывается при корректном завершении работы контейнера.

Есть ли способ закрыть ресурсы, такие как служба-исполнитель, в классе ресурсов с помощью предопределенного хука или аннотации? Спасибо!

1 ответ

Одним из способов прослушивания «завершения работы» контейнера может быть использование реализации интерфейса ServletContextListener и написание логики закрытия службы исполнителя с помощью метода contextDestroyed(ServletContext).

Другие вопросы по тегам