【发布时间】:2012-09-10 09:12:09
【问题描述】:
我大致知道这个构造的作用:它创建一个 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 在这里做什么?他们可能从 JNDI 获取或创建“name1”...对象,但是他们将结果放在哪里?我在附近没有看到.lookup 电话,但代码库很大,所以我不太确定。
额外问题:我认为这两个 @Transaction 注释只是重复默认值?
更新: 多人此时声称@EJBs 是专有扩展。它不是。它是 java EE5 的核心部分。见the JavaDoc for details.。它只是单个 @EJB 注释的容器。
我相信声称这些 EJB 注释的每个人都会进行查找。我只是想知道这个查找的结果会发生什么。
【问题讨论】:
-
这很奇怪,我从未听说过
@EJBs和这样的用法。
标签: java jakarta-ee ejb