Джерси @PreMatching и привязка имени в 1 провайдере
Мне нужно реализовать фильтр Джерси (ContainerRequestFilter)
что нужно вызвать во время pre-matching
фаза, но применимо только к некоторым ресурсам.
pre-matching
часть может быть сделано путем аннотирования класса с @PreMatching
аннотация и "apply to some"
функциональность через Джерси NameBinding
механизм.
Что мне понадобится, чтобы объединить 2 функции в 1 провайдере; Теперь я почти уверен, что это невозможно, поскольку мне кажется, что это противоречиво (фильтр будет вызван, прежде чем мы сможем проверить, аннотирован ли данный класс), но все же я хочу быть на 100% уверен в этом, так как я буду пропускать 1 шаг в жизненном цикле Джерси и, следовательно, сокращение времени отклика.
Я использую Джерси 2.6
Спасибо
1 ответ
Я не могу точно ответить, возможно это или нет, но я хотел бы прокомментировать "пропуск 1 шага, чтобы уменьшить время отклика": я бы сказал, что вам даже не нужно будет это учитывать на данном этапе. Стремитесь сделать ваш код легким для чтения и понимания (возможно, будет лучше разделить структуру как на фильтр, так и на некоторый класс пространственных объектов и в любом случае совместно использовать общий код).
Если вы столкнулись с проблемами производительности / длительным временем отклика во время тестового / раннего развертывания, профилируйте свое приложение и посмотрите, что на самом деле требует времени, и в первую очередь сосредоточьтесь на этих областях. Я очень уверен, что время не тратится там, где вы думаете, и я куплю вам пиво, если оно действительно окажется тем дополнительным шагом в жизненном цикле, который вызовет ваши (любые) проблемы с производительностью.