2013-04-09 7 views
6

Я читал, что встроенные контейнеры хуже управляемых контейнеров, которые, в свою очередь, менее надежны, чем удаленные контейнеры.В чем разница между встроенным контейнером и управляемым контейнером в Java EE 6?

Arquillian позволяет вам писать «реальные» тесты, но я не знаю разницы между этими типами контейнеров, главным образом встроенными и управляемыми.

Если я использую Jboss внутри Eclipse, это встроенный или управляемый контейнер?

Если я запускаю Jboss из командной строки, без затмения, это встроенный или управляемый или удаленный?

Для бонусных очков, как подходит к этому термину слово «автономный» контейнер?

+3

Это может вам помочь. [Контейнерные сорта] (http://docs.jboss.org/arquillian/reference/1.0.0.Alpha4/en-US/html/containers.html) – Max

ответ

2

Target container varieties документация связаны Max обеспечивает концептуальную основу и терминологию:

Arquillian распознает три стиля контейнера взаимодействия:

  1. удаленного контейнер находится в отдельном JVM из теста второе место; Arquillian связывается с контейнером для развертывания и Undeploy тестового архива и вызывает тесты с помощью удаленного протокола HTTP (обычно)

  2. встроен контейнер находится в том же JVM в качестве испытательной бегун; жизненный цикл, управляемый Arquillian; Тесты выполняются с помощью локального протокола для контейнеров без веб-компонентов (например, встроенный EJB) и через протокол удаленного для контейнеров, которые имеют веб-компонент (например, Embedded Java EE)

  3. управляемого контейнер такая же, как удаленный контейнер, но в Кроме того, его жизненный цикл (запуск/останов) управляется Arquillian и запускается как отдельный процесс

Теперь я буду стараться ответьте на ваши вопросы.

Я прочитал, что встроенные контейнеры хуже, чем управляемые контейнеры, которые в свою очередь менее надежны, чем удаленные контейнеры.

Каждый тип контейнера будет иметь соответствующий прецедент. «Худшее» или «лучшее» зависит от того, что вы пытаетесь сделать.

Например, большую часть времени я пишу код, в котором работает мой контейнер, поэтому я предпочитаю протестировать его с помощью удаленного контейнера, так как он экономит много времени старта/остановки.

Arquillian позволяет писать «реальные» тесты, но я не знаю разницу между этими типами контейнеров, главным образом, внедренной против удались.

Разница объясняется в документации, приведенной выше.

Если я использую Jboss в Eclipse, это встроенный или управляемый контейнер ?

Это дистанционное управление, потому что Arquillian не имеет никакого контроля над ним. Это полностью отделенный процесс от жизненного цикла Аркильи.

Если я запустил Jboss из командной строки без затмения, то это встроенный или управляемый или удаленный?

Еще один удаленный контейнер. Eclipse запускает JBoss почти так же, как вы это делаете, используя командную строку, и Arquillian не имеет никакого контроля над ним.

Для получения бонусных очков, как подходит к слову «автономный» контейнер с этими условиями?

Автономный означает, что сервер не является частью централизованного управления, то есть любые изменения, внесенные в один узел, не координируются с другими узлами.

Например, если вы создаете источник данных на автономном узле 1, то она не будет реплицироваться на узел 2.

, поэтому конфигурация домена намного предпочтительнее, так как вы управляли весь кластер централизованно (ссылка: Operating modes).

Смежные вопросы