0

我有我的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();
    }
}

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

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

4

2 回答 2

1

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

于 2013-01-03T17:18:21.917 回答
0

在C3P0的帮助下,我已经成功地在 EJB3 模块上实现了单元测试。有一篇关于如何在此处进行操作的简洁的博客文章。

于 2012-12-29T00:23:14.317 回答