我第一次尝试使用CDI。虽然我已经使用@EJB成功地将一个EJB注入到另一个EJB中,但我无法使用@Inject注释。
@Stateless
public class AccountDaoImpl implements AccountDAO {
@Inject
private MultiTenantEntityManagerImpl mtem; //always null
}
多租户实体经理看起来像这样:
@Default
public class MultiTenantEntityManagerImpl {
.....
}
我已经创建了一个beans.xml文件(空),但是它已经将其插入到内置jar文件的META-INF文件夹中。仍然没有快乐。
我确定它很简单。我在jboss 5.0.1.GA中运行。
所以看起来jboss 5不支持@Inject注释。
另一种方法是使用@EJB注释,但这不起作用:
@Stateless
public class AccountDaoImpl implements AccountDAO {
@EJB
private MultiTenantEntityManager mtem; //still null!
}
奇怪的是,在另一个EJB中,实体管理器的这个确切声明工作正常。
答案 0 :(得分:1)
就我而言,我缺少独立的子系统
答案 1 :(得分:0)
看起来,至少在jboss 5中,如果两者满足以下条件,则只会尊重@EJB注释: