如何在与Maven和嵌入式Glassfish的集成测试中访问EJB?

如何在与Maven和嵌入式Glassfish的集成测试中访问EJB?,maven,ejb,integration-testing,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.looku

我正在我的应用程序中使用
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()
。当我试图查找一些不存在的类时,我得到了“lookup failed”错误,因此很明显找到了一些内容,但它与原始EJB类不兼容…

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

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

  • 实用地创建并启动服务器

    • 优点:最低限度的maven配置,完全控制要部署的文件夹。
    • 缺点:您只能使用EJB容器。没有JMS、web和WS
  • 从maven插件运行服务器

    • 优点:全服务器运行
    • 缺点:我仍然无法通过初始上下文访问EJB,连接被拒绝。关于这件事,我在另一个帖子里问了一个问题

  • 如果你需要适当的帮助,请多给我们一些。例如,您正在访问远程EJB还是本地EJB?JNDI查找字符串是什么

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

  • 实用地创建并启动服务器

    • 优点:最低限度的maven配置,完全控制要部署的文件夹。
    • 缺点:您只能使用EJB容器。没有JMS、web和WS
  • 从maven插件运行服务器

    • 优点:全服务器运行
    • 缺点:我仍然无法通过初始上下文访问EJB,连接被拒绝。关于这件事,我在另一个帖子里问了一个问题