我已经读过嵌入式容器比托管容器更糟糕,而托管容器的可靠性却远低于远程容器。
Arquillian允许您编写“真实”测试,但我不知道这些容器类型之间的区别,主要是嵌入式和托管型。
如果我在Eclipse中使用Jboss,那是嵌入式或托管容器吗?
如果我从命令行启动Jboss,没有eclipse,是嵌入式还是托管式还是远程?
对于奖励积分,“独立”容器这个词如何与这些术语相符?
答案 0 :(得分:2)
Max链接的Target container varieties文档提供了概念背景和术语:
Arquillian识别三种容器交互方式:
- 调用测试
远程容器与测试运行器位于单独的JVM中;的Arquillian 绑定到容器以部署和取消部署测试存档 通过远程协议(通常是HTTP)
嵌入式容器与测试运行器位于同一JVM中; 由Arquillian管理的生命周期;测试通过本地执行 没有Web组件的容器的协议(例如,嵌入式EJB) 并通过远程协议为具有Web组件的容器 (例如,嵌入式Java EE)
- 醇>
托管容器与远程容器相同,但在 此外,它的生命周期(启动/关闭)由Arquillian管理 并作为单独的流程运行
现在我会尝试回答你的问题。
我已经读过嵌入式容器比管理更差 容器,它们比远程容器更不可靠。
每种类型的容器都有适当的用例。更糟糕的是"或者"更好"取决于你想要做什么。
例如,大多数时候我正在编写一些代码,我的容器正在运行,因此我更喜欢使用远程容器进行测试,因为它可以节省大量的启动/停止时间。
Arquillian允许你写真实的'测试,但我不知道 这些容器类型之间的区别,主要是嵌入式vs 管理。
差异在上面链接的文档中有解释。
如果我在Eclipse中使用Jboss,那是嵌入式还是托管式 容器
这很遥远,因为Arquillian对它没有任何控制权。它与Arquillian生命周期完全分开。
如果我从命令行启动Jboss,没有eclipse,就是这样 嵌入式或托管式,还是远程?
仍然是一个远程容器。 Eclipse以与使用命令行相同的方式启动JBoss,而Arquillian对它没有任何控制。
对于奖励积分,单词' standalone'是什么?容器适合 这些条款?
独立意味着服务器不是集中管理控制的一部分,这意味着对一个节点所做的任何更改都不会与其他节点协调。
例如,如果在独立节点1上创建数据源,则不会将其复制到节点2.
这就是为什么域配置更受欢迎,因为您将以集中方式管理整个群集(参考:Operating modes)。