【发布时间】:2017-02-24 14:13:58
【问题描述】:
我想在我的 Java EE 7 WebSocket 端点中注入一个 @RequestScoped CDI bean。
但是我收到错误WELD-001303: No active contexts for scope type javax.enterprise.context.RequestScoped。
我做错了什么,为什么不可能?
@Named
@RequestScoped
public class Storage {
}
我在端点@Inject是这样的:
@ServerEndpoint("/serverpush")
public class ContratoEndpoint {
@Inject
private Storage storage;
}
我得到以下堆栈跟踪:
org.jboss.weld.context.ContextNotActiveException: WELD-001303: No active contexts for scope type javax.enterprise.context.RequestScoped
at org.jboss.weld.manager.BeanManagerImpl.getContext(BeanManagerImpl.java:689)
at org.jboss.weld.bean.ContextualInstanceStrategy$DefaultContextualInstanceStrategy.getIfExists(ContextualInstanceStrategy.java:90)
at org.jboss.weld.bean.ContextualInstanceStrategy$CachingContextualInstanceStrategy.getIfExists(ContextualInstanceStrategy.java:165)
at org.jboss.weld.bean.ContextualInstance.getIfExists(ContextualInstance.java:63)
at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:83)
at org.jboss.weld.bean.proxy.ProxyMethodHandler.getInstance(ProxyMethodHandler.java:125)
【问题讨论】:
标签: java cdi weld java-websocket