Управляемый компонент для классов ресурсов трикотажа

есть ли уважительная причина, все классы ресурсов трикотажа отмечены аннотацией @ManagedBean. Классы ресурсов уже отмечены аннотациями @Path и @Produces jaxrs. Разве контейнеру недостаточно рассматривать его как класс ресурсов jax-rs?


person Community    schedule 07.02.2014    source источник
comment
Я также задал себе этот вопрос и нашел ответ в документации Джерси.   -  person Viacheslav Dobromyslov    schedule 15.02.2015


Ответы (2)


javax.annotation.ManagedBean не является jax-rs аннотацию, и из-за этого контейнер не должен ничего предполагать о jax-rs при чтении этой аннотации, поэтому да, @Path и @Produces достаточно, чтобы контейнер рассматривал ее как ресурс jax-rs. Вы можете использовать @ManagedBean, если хотите, чтобы контейнер предоставлял вашим ресурсам дополнительные службы (не связанные с jax-rs), проверьте ссылка.

person Camilo    schedule 08.02.2014

@ManagedBean требуется, если вы хотите внедрить свои EJB в ресурсы JAX-RS без использования аннотаций @Local и интерфейсов в ваших EJB.

Сравните следующие разделы документации Джерси:

  1. https://jersey.java.net/documentation/latest/deployment.html#deployment.javaee.managed
  2. https://jersey.java.net/documentation/latest/deployment.html#deployment.javaee.ejb

Таким образом, вы можете выбрать, какой подход лучше всего соответствует вашим потребностям: либо использовать @Local интерфейс + @Stateless EJB, либо внедрить свои @Stateless EJB без @Local интерфейса в ваш @ManagedBean аннотированный ресурс.

Также взгляните на официальный пример: https://github.com/jersey/jersey/tree/master/examples/managed-beans-webapp

person Viacheslav Dobromyslov    schedule 15.02.2015