【问题标题】:CDI Injection in a Wildfly applicationWildfly 应用程序中的 CDI 注入
【发布时间】:2014-04-30 14:44:55
【问题描述】:

我写了一个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 目录中。不幸的是,当代码尝试执行event.fire(e) 行时,我仍然得到NullPointerException,这表明注入不起作用。

我做错了什么?

【问题讨论】:

    标签: dependency-injection cdi wildfly


    【解决方案1】:

    尝试添加至少一个 CDI bean(它不需要做任何事情),例如

    @ApplicationScoped
    public class JustABean { }
    

    我在 Wildfly 测试版上遇到过类似的问题,似乎没有一个“正常”的 bean CDI 引擎就无法启动。 Wildfly 还提供 CDI 1.1,其中 beans.xml 是可选的。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-19
    • 2014-05-09
    • 2015-07-14
    • 2016-02-22
    • 1970-01-01
    • 2018-02-23
    • 2012-06-28
    相关资源
    最近更新 更多