如何使用Maven和Embedded Glassfish访问集成测试中的EJB?

时间:2011-06-04 12:39:50

标签: maven ejb integration-testing

我正在使用maven-embedded-glassfish-plugin在我的应用中进行集成测试。除了我尝试使用JDNI访问EJB的测试之外,测试工作得很好。 如何访问我的EJB?

修改

我设法更接近(无论如何,我想是这样)成功。现在我得到以下错误:

xxx.xxx.ejb.__EJB31_Generated__ItemDatabase__Intf____Bean__ cannot be cast to xxx.xxx.ejb.ItemDatabase

使用InitialContext.lookup()。当我尝试查找一些不存在的类时,我得到“查找失败”错误,所以很明显找到某些,但它与原始EJB类不兼容......

1 个答案:

答案 0 :(得分:0)

如果您需要适当的帮助,请给我们更多的信息。例如,您是否正在访问远程或本地EJB?什么是JNDI查找字符串?

根据我的经验,有两种方法可以在Glassfish嵌入式服务器上运行集成测试。

  1. 以实用方式创建并启动服务器

    • 专业人员:最小化maven配置,完全控制要部署的文件夹。
    • 缺点:您只能使用EJB容器。没有JMS,也没有网络,也没有WS。
  2. 从maven插件中运行服务器

    • 专业人员:完整服务器正在运行
    • 缺点:我仍然无法通过初始上下文访问EJB,拒绝连接。我在一个单独的帖子中提出一个问题。