我写了一个HttpServlet
,它被部署到WAR文件中的Wildfly容器中。 servlet看起来像这样:
public class MyCallback extends HttpServlet {
@Inject
@Any
private Event<MyEvent> event;
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
String eventName = request.getParameter("EVENT_NAME");
MyEvent e = new MyEvent(eventName);
event.fire(e);
}
}
我还创建了一个beans.xml
文件(详细为here)并将其放在我的WEB-INF
目录中。不幸的是,当代码尝试执行NullPointerException
行时,我仍然得到event.fire(e)
,这表明注入不起作用。
我做错了什么?
答案 0 :(得分:1)
尝试添加至少一个CDI bean(它不必做任何事情),例如。
@ApplicationScoped
public class JustABean { }
我在Wildfly测试版上遇到了类似的问题,似乎没有单一的#34;正常&#34;豆CDI引擎不会开始。 Wildfly也提供CDI 1.1,其中beans.xml是可选的。