2011-06-04 59 views
2

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

编辑

我得到了一个有点接近(我是这么认为的,反正​​)成功。现在我得到以下错误:

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

使用InitialContext.lookup()。当我尝试查找一些不存在的类,我得到“查询失败”的错误,那么清楚东西被发现,但它与原来的EJB类不知何故不兼容...

回答

0

请一些养活我们,如果你想适当的帮助。例如,你在访问远程还是本地EJB?什么是JNDI查找字符串?

根据我的经验,在Glassfish嵌入式服务器上运行集成测试有两种方法。部署的文件夹上最小的Maven配置,完全控制:

  1. 务实创建和启动服务器

    • 利弊
    • 缺点:你被困在只有一个EJB容器。没有JMS,也没有Web和WS。
  2. 运行从Maven插件

    • 利弊服务器:运行
    • 利弊完整的服务器:我仍然无法通过初始上下文访问EJB,连接被拒绝。我在一个单独的线程中提出了一个问题。