Я хотел бы знать, каково ожидаемое поведение жизненного цикла для класса, который отвечает запросам REST.Жизненный цикл ресурса Apache Wink
У меня есть класс, полученный из javax.ws.rs.core.Application, который идентифицирует другой класс для ответа на запросы.
В этом другом классе это аннотируется с помощью @Path ("foo"), и методы в этом классе аннотируются с @Path ("bar"). Когда запрос сделан в foo/bar, я вижу, что конструктор выполнен, тогда метод PostConstruct правильно вызван. После того как метод возвращает ответ клиенту, я вижу, что PreDestroy вызывается, а затем класс раздавлен. По следующему запросу процесс повторяется.
Это правильное поведение? Или есть способ, которым этот класс может оставаться в памяти, так что ему не нужно проходить конструктор и PostConstruct каждый раз, когда выполняется запрос? Этот метод основан на сортировке JAXB и различных XSL-преобразованиях - я хотел бы кэшировать скомпилированные объекты преобразования XSLT, а также результаты некоторых преобразований, но если класс повторно инициализируется каждый раз, когда он вызывается, это делает невозможным локальное кэширование.
Это работает с Java 7, Wink и Tomcat 7. Может кто-нибудь, пожалуйста, сообщите мне, если это ожидаемое поведение, или мне не хватает чего-то, что просто сохранит этот класс?
Спасибо.