CDI依赖项注入问题



我在Wildfly应用程序服务器中正确部署了EJB。我可以使用@EJB注释来注入它,但是现在,我想包装到一个cdi-bean中,以便能够使用@inject注释来注入。为此,我创建了一个类ResourceProducer,它使用@EJB注入EJB,然后将其封装到一个cdiBean中。

这是代码:

public class ResourceProducer {
@EJB
BusinessHandler businessHandler;

@Produces
@Named("myBusinessHandler")
public BusinessHandler getMyBusinessHandler() {
    return businessHandler;
}
}   

然后在注入点,我使用注入bean

@Inject 
@Named("myBusinessHandler")
private BusinessHandler handler;

然而Eclipse告诉我"没有任何bean可以被注入到注入点[JSR-299§5.2.1]"。我做错了什么?你看到我遗漏的东西了吗。如有任何帮助,我们将不胜感激。

谢谢!!

尝试以下代码将EJB注入CDIBean。

ResourceProducer.java

@Named
@SessionScoped // or some other scope
public class ResourceProducer { // Your CDI Bean
    @Inject
    BusinessHandler businessHandler;
}

您的EJB
BusinessHandler.java

@Stateless
public class BusinessHandler(){ // Your EJB
    ...
}

这就是将EJB注入CDIBean所需要做的全部工作。

最新更新