【问题标题】:how to test an ejb in a client application using was7如何使用 was7 在客户端应用程序中测试 ejb
【发布时间】:2012-12-29 00:10:12
【问题描述】:

我有我的 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? 提前致谢。

【问题讨论】:

    标签: java jakarta-ee ejb websphere


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 那个库不是用来处理连接的吗??
      • 是和不是。简而言之,它允许您针对 EJB 和内存数据库运行单元测试,而无需部署到应用程序服务器。
      猜你喜欢
      • 1970-01-01
      • 2011-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-30
      • 1970-01-01
      相关资源
      最近更新 更多