Jax-rs, единственный поставщик ExceptionMapper с огромной логикой по сравнению с несколькими поставщиками с некоторым количеством логики (производительность против использования ресурсов) - PullRequest
0 голосов
/ 30 октября 2018

простой пример такой ситуации - ExceptionMapper. представьте, что у вас есть какое-то пользовательское исключение и вы хотите вернуть определенный код состояния и детали в качестве ответа, когда ваше приложение столкнулось с этими исключениями, поэтому у вас есть следующие опции:

  • вы можете создать один provider класс, который реализует ExceptionMapper<Throwable> для обработки ваших исключений в одном классе с помощью if s и проверки типа исключения

  • вы можете создать несколько provider s классов для каждого исключения

note : как вы знаете, для каждого приложения Jax-R будет создан один экземпляр каждого провайдера

поэтому в первом варианте у нас есть один экземпляр (я думаю, что это лучше для использования ресурсов), но из-за нескольких if процесс может занять больше времени (может быть, это плохо сказывается на производительности).

Вместо этого во втором варианте мы создаем и сохраняем больше экземпляров, но процесс короче (лучше для производительности)

Я знаю, что производительность и ресурс в каждом случае могут быть немного изменены, но мне интересно узнать правильный ответ.

Как вы думаете, какой из них лучше и эффективнее?

...