2013-04-09 42 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)。

相關問題