这可能是一个愚蠢的问题,因为几乎每个人都在使用嵌入式容器技术来测试EJB,但我必须澄清这一点,因为我缺乏经验。 此外,我的一些人认为嵌入式容器不会重现在真实应用服务器中部署的真实情况。 那么,在测试ejb3时,为什么要指示使用嵌入式容器而不是独立容器? 提前谢谢。
答案 0 :(得分:2)
时间。
在完整的应用程序服务器中测试EJB通常会占用大量时间,因为应用程序。服务器必须在进行更改时“旋转”,因此浪费了大量时间。因此,OpenEJB等嵌入式容器可以为您节省大量时间。嵌入式Glassfish现在也是一种选择,虽然我没有亲自尝试过。
零周转是Java EE中的一种圣杯。
答案 1 :(得分:1)
以下是我发现的最相关的论点。请在此旁边发表评论,或者添加自己的理由使用可嵌入容器与真实应用服务器容器进行测试。谢谢。
答案 2 :(得分:0)
嵌入式容器的执行(启动/停止)比完整容器快得多 - >这肯定会影响开发者。设置/配置更容易自动化,特别是持续集成。另一方面,由于某些核心功能在嵌入式容器上被禁用,因此无法测试所有内容。
您可能需要调查http://www.jboss.org/arquillian以同时拥有这两个选项。来自网站:
Arquillian让您可以测试您的 远程或嵌入式业务逻辑 容器。或者,它可以 将存档部署到容器中 测试可以作为远程进行交互 客户端。
最后,它取决于您要测试的EJB的类型。如果没有对某些外部服务进行模拟,某些复杂方案将无法在嵌入式容器上运行。在我的项目中,我们使用我们创建的自定义模拟容器测试EJBS(超快且易于使用),如果一切顺利,我们使用远程控制API测试真实的,完整的JBoss,就像Arquillian一样。 / p>
希望它有所帮助。