我正在尝试在Websphere 8.5.5上的EAR应用程序中使用@ApplicationScoped
CDI bean,但我没有这样做。
我的结构:
MyLib是CDI bean:
import javax.enterprise.context.ApplicationScoped;
@ApplicationScoped
public class MyLib {
...
}
我想把它注入无状态bean MyEJB:
@Stateless
public class MyEJB implements MyEJBLocal {
@Inject
private MyLib myLib;
...
}
我正在使用@ApplicationScoped,因为这似乎是创建CDI托管单例的推荐方法。
注意:我没有使用任何WAR,我没有网络层。
现在,当EJB bean被实例化时,我得到以下异常:
javax.enterprise.context.ContextNotActiveException: WebBeans context with scope type annotation @ApplicationScoped does not exist within current thread
我做错了什么以及如何将Singleton CDI bean注入EJB?