我大致知道这个构造的作用:它创建了一个 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
s在这里做什么@EJB
?他们可能从 JNDI 获取或创建“name1”...对象,但他们将结果放在哪里?我没有.lookup
在附近看到任何电话,但代码库很大,所以我对此不太确定。
额外的问题:我认为这两个@Transaction
注释只是重复默认值?
更新:此时多人声称这@EJBs
是一个专有扩展。它不是。它是 java EE5 的核心部分。有关详细信息,请参阅JavaDoc。. 它只是单个@EJB
注释的容器。
我相信声称这些 EJB 注释的每个人都会进行查找。我只想知道这个查找的结果会发生什么。