如何使用was7在客户端应用程序中测试ejb

时间:2012-12-29 00:10:13

标签: java java-ee ejb websphere

我的ejb,它的客户端装在耳朵里,它部署在was7上 现在我需要用junit测试它,所以我创建了一个独立的java应用程序,我添加了ejb客户端生成的jar,并在制作实际测试用例之前尝试调用它:

    @EJB private static ConfiguratorIDA conf;
/**
 * @param args
 */
public static void main(String[] args) {
    // TODO Auto-generated method stub
    try {
        conf.setupIsbanDataAccess();
    } catch (NegocioException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

我的运行和我的ejb一样,但是当我运行我的应用程序时,我在conf.setupIsbanDataAccess()上得到NullPointerException;

有谁知道如何在独立的Java应用程序中调用ejb? 提前谢谢。

2 个答案:

答案 0 :(得分:1)

注入(包括@EJB)仅在您使用application client container时有效,因为容器需要有机会在运行main方法之前执行注入。如果您真的想要使用独立的JVM,那么您需要在类路径中包含EJB thinclient并使用JNDI手动查找EJB,而不是尝试使用注入。

答案 1 :(得分:0)

我在C3P0的帮助下成功地在EJB3模块上实现了单元测试。有一篇很好的,简洁的博客文章介绍了如何做到这一点here