JavaEE 6: @EJB (beanInterface =»»)

#annotations #ejb-3.0 #java-ee-6

#аннотации #ejb-3.0 #java-ee-6

Вопрос:

Может ли кто-нибудь помочь мне понять использование beanInterface параметра @EJB аннотации в JavaEE 6?

У меня есть ситуация, в которой у меня есть EJB, и я хочу, чтобы к нему можно было получить доступ как локально, так и удаленно.

У меня есть a MyBaseInterface , а затем оба MyEJBLocalInterface и MyEJBRemoteInterface расширение MyBaseInterface . Теперь у меня есть MyEJB , который реализует оба MyEJBLocalInterface и MyEJBRemoteInterface .

Теперь у меня ситуация, в которой я хочу получить доступ только MyEJB локально.

Могу ли я добиться того же со следующим?

 @EJB(beanInterface=MyEJBLocalInterface.class)
private MyBaseInterface instanceOfLocallyAccessedMyEJB;
  

Может ли кто-нибудь помочь мне понять использование beanInterface параметра @EJB атрибута?

Спасибо.

Ответ №1:

атрибут beanInterface аннотации @EJB используется для разных целей в зависимости от используемой версии EJB:

  • В EJB 3.X вы можете использовать его, чтобы указать, хотите ли вы использовать удаленную локальную ссылку на EJB, на который вы ссылаетесь, что является вашим случаем.
  • В EJB 2.X он используется для указания интерфейса Home / LocalHome компонента сеанса / сущности

Подводя итог, да. Вы должны иметь возможность использовать его для внедрения желаемого интерфейса.

Однако это может не поддерживаться в более старых версиях JBoss.

Комментарии:

1. Вы знаете, поддерживает ли jboss 6 «@EJB»