如何从Netbeans平台模块调试对EJB的调用

时间:2013-08-08 09:35:29

标签: java glassfish ejb netbeans-platform

使用GlassFish 3.1.2,我尝试从Netbeans平台模块调用会话Bean,我得到一个空指针异常。我的问题是我没有解释如何/在哪里生成NPE。

我的模块中的代码很简单:

import ejb.MySessionRemote;
import javax.ejb.EJB;

public class TestServer {

    @EJB
    private static MySessionRemote mySession;

    public boolean execute() {
        System.out.println("result = " + mySession.getString()); //NPE here: mySession is null
        return true;
    }
}

会话bean“我的会话”,远程接口和服务器端部署的应用程序只是本教程中的内容:https://netbeans.org/kb/docs/javaee/entappclient.html

非常感谢任何帮助。

注意:我已经检查了this tutorial,但没有解决我的问题。

1 个答案:

答案 0 :(得分:3)

如果mySession为空,则可能未注入。您可以注入托管 bean(例如EJB),因为这些实例由容器管理(创建/删除),容器会为您执行注入。 / p>

如果您使用CDI,则可以注入POJO。

例如,如果TestServer是独立应用程序的一部分,请尝试使用 JNDI 查找EJB。这也是您tutorial的作用。它涉及设置属性以获取InitialContext,以及使用JNDI查找EJB。