【问题标题】:NullPointerException in ejb injectionejb 注入中的 NullPointerException
【发布时间】:2015-09-18 16:19:45
【问题描述】:

为什么我有NullPointerException?我做的一切都是对的!我有 2 个简单的课程,这不会错!对不起,愚蠢的名字,但我评论了几乎所有的代码,它仍然无法正常工作!

Caused by: java.lang.NullPointerException
    at pl.take.server.model.WholesaleREST.getCars(WholesaleREST.java:34) [:]

休息课:

@Stateless
@Path("/wholesale")
public class WholesaleREST{

    @EJB
    private WholesaleEJB2 wholesaleEJB2;

    @GET
    @Path("/get")
    public String getCars() {
        String string = wholesaleEJB2.createClient2(); //LINE 34
        return string;
    }

EJB 类:

@Stateless
public class WholesaleEJB2 {

    public String createClient2() {
        return("Hello world!");
    }
}

【问题讨论】:

  • 试着把@LocalBean放在WholesaleEJB2 上
  • 没有帮助,仍然是 NullPointer
  • 是唯一一个返回 null 的 @EJB 吗?你在给其他班级注射另一个人吗?

标签: java nullpointerexception ejb


【解决方案1】:

我对 EJB 不太熟悉,但您的名为批发EJB2 的数据成员似乎为空。也许如果您将声明该成员的行更改为 read

private WholesaleEJB2 wholesaleEJB2 = new WholesaleEJB2();

你不会有 NullPointerException。我在这里假设 WholesaleEJB2 有一个无参数构造函数,因为您没有在该类中显示任何构造函数。

【讨论】:

  • 我不知道为什么,但这有效。这看起来像一个简单的错误,但看看这个教程:adam-bien.com/roller/abien/entry/simplest_possible_ejb_3_13tomee.apache.org/examples-trunk/rest-on-ejb/README.html 总是有构造:@EJB 类字段;
  • 在 adam-bien.com/roller/abien/entry/simplest_possible_ejb_3_13 的单元测试中,他们明确构造(或构造模拟)带有 @EJB 注释的对象。在您提供的其他链接中,我没有看到 @EJB 的使用。
  • 实例化 bean 的基本原理是什么?顺便说一句,您不需要声明它,因为它已经通过@EJB 注入“声明”了......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-16
  • 2019-02-21
  • 2017-09-12
  • 1970-01-01
  • 1970-01-01
  • 2013-08-03
相关资源
最近更新 更多