2013-04-09 46 views
6

我读过嵌入式容器比被管理的容器差,而远程容器的可靠性不如此。 Arquillian允许你写'真正的'测试,但我不知道这些容器类型之间的区别,主要是嵌入和管理。Java EE 6中的嵌入式容器与托管容器之间的区别是什么?

如果我在Eclipse中使用Jboss,是嵌入式还是托管容器?

如果我从命令行启动Jboss,没有eclipse,是嵌入的还是托管的,还是远程的?

对于奖励积分,单词'独立'容器如何适应这些条款?

+3

这可能会帮助你。 [容器品种](http://docs.jboss.org/arquillian/reference/1.0.0.Alpha4/en-US/html/containers.html) – Max 2014-02-06 09:10:42

回答

2

Target container varieties文档由最大连接时提供了概念背景和术语:

的Arquillian识别三种容器交互样式:

  1. 远程容器驻留在单独的JVM从测试亚军;的Arquillian 结合到容器部署和取消部署测试归档和 通过远程协议(通常为HTTP)调用测试

  2. 一种嵌入容器驻留在相同的JVM测试运行;由Arquillian管理的 生命周期;测试没有Web组件经由本地 协议用于容器执行(例如,嵌入式EJB) 和通过远程协议用于具有Web组件 (例如,嵌入的Java EE)

  3. 管理容器的容器是一样的远程容器,但在 此外,其生命周期(启动/关机)通过的Arquillian 管理和运行作为一个单独的进程

现在,我会尽力回答你的问题。

我已经读过嵌入式容器比管理型容器 差,而远程容器比远程容器的可靠性差。

每种类型的容器都会有相应的用例。 “更糟”或“更好”取决于你想要做的事情。

例如,大多数时候我正在编写一些代码,我的容器正在运行,所以我宁愿使用远程容器进行测试,因为它节省了大量的启动/停止时间。

的Arquillian让你写“真正”的测试,但我不知道这些容器类型之间的 差异,主要是嵌入式VS 管理。

不同点在上面链接的文档中有解释。

如果我在Eclipse中使用Jboss,那是一个嵌入式还是可管理的 容器?

它很遥远,因为Arquillian没有任何控制权。这是一个与Arquillian生命周期完全分离的过程。

如果我从命令行启动Jboss,没有eclipse,是 嵌入式还是托管式,或者是远程的?

仍然是一个远程容器。 Eclipse以与使用命令行相同的方式启动JBoss,而Arquillian无法控制它。

对于奖励积分,“独立”容器这个词怎么符合 这些条款?

独立意味着服务器不是集中管理控制的一部分,这意味着对一个节点所做的任何更改都不会与其他节点协调。

例如,如果创建了一个独立的节点1上的数据源,也不会被复制到节点2

这就是为什么域配置是非常优选的,因为你会管理在整个群集以集中的方式(参考:Operating modes)。

相关问题