簡體   English   中英

工廠返回帶有 EJB 注入字段 Null 的 Bean

[英]Factory returns Bean with EJB injected field Null

我有一個 Java 工廠類,其中包含一些返回一些 Java Bean 的方法。 所有這些 Java Bean 都有一些 DAO 對象作為字段,這些對象被注解 @EJB 注入。 然而,在每種情況下,這些 DAO 都是空的,所以我想我在 EJB 注入方面有問題。 我使用 WebLogic 進行部署。 有什么建議可以解決問題嗎?

//Factory class
public class Factory extends AbstractFactory {

    @Override
    public InterfaceService getService() {
        return new ClassBean();
    }
}

//Bean class
@Stateless(mappedName = "ClassBean")
@LocalBean
public class ClassBean implements IBeanService {

    @EJB(beanName = "ClassDAO")
    private ClassDAO classDAO;


    public List<String> getList() throws ExpectedModelException {
        return classDAO.getStringList(); //this one throws NullPointerException
}

永遠不要使用 new 創建 Enterprise-Beans。 創建、緩存、刪除……都是由容器完成的。

您必須將 ClassDao 聲明為 @Stateless 或 @Singleton,...並且容器將創建並找到它,希望名稱正確。 不需要工廠。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM