Я знаю примерно то, что делает эта конструкция: он создает SomeType EJB и вводит объект в другой EJB.
@EJB(name="name1")
SomeType someVariable
Теперь у меня есть класс, который начинается следующим образом: (Я даю все аннотации на уровне класса, хотя я думаю, что релевантно только @EJBs
)
@Remote(SomeClass.class)
@Stateless(name="someName")
@EJBs({@EJB(name="name1",beanInterface=Type1.class),
@EJB(name="name2",beanInterface=Type2.class)})
@TransactionAttribute(TransactionAttributeType.REQUIRED)
@TransactionManagement(TransactionManagementType.CONTAINER)
public class X extends Y{
//code
Что здесь делает @EJB
? Они, вероятно, получают или создают объекты "name1"... из JNDI, но где они помещают результат? Я не вижу вызова .lookup
поблизости, но база кода огромна, поэтому я не очень уверен в этом.
Бонусный вопрос: я предполагаю, что две аннотации @Transaction
просто повторяют значения по умолчанию?
ОБНОВЛЕНИЕ: несколько человек заявили в этот момент, что @EJBs
является проприетарным расширением. Это не. Это основная часть java EE5. Подробнее см. JavaDoc.. Это просто контейнер для индивидуальных аннотаций @EJB
.
Я считаю, что все, кто утверждает эти аннотации EJB, ищут. Я просто хочу знать, что происходит с результатом этого поиска.