Выпуск Arquillian и Tomcat6 - PullRequest
       2

Выпуск Arquillian и Tomcat6

4 голосов
/ 07 ноября 2011

У меня есть два вопроса относительно Arquillian и Tomcat:

-Мои тесты arquillian не выполняются со следующим сообщением об ошибке:

org.jboss.jsfunit.example.hellojsf.HelloJSFTest Прошедшее время: 0 сек. <<< ОШИБКА! org.jboss.arquillian.container.spi.ConfigurationException: Невозможно подключиться к диспетчеру Tomcat. Команда сервера (/ deploy? path =% 2Ftest) не удалось с responseCode (401) и responseMessage (не авторизуется). Пожалуйста, убедитесь, что вы предоставили правильные учетные данные для пользователя, который может получить доступ к менеджеру Tomcat приложение. Эти учетные данные могут быть указаны в Arquillian конфигурация контейнера как свойства "user" и "pass". Пользователь должен соответствующая роль указана в файле tomcat-users.xml. </p>

К вашему сведению, файл arquillian.xml выглядит следующим образом:

<arquillian xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://jboss.org/schema/arquillian
        http://jboss.org/schema/arquillian/arquillian-1.0.xsd">
      <engine>
        <property name="deploymentExportPath">target/</property>
         <property name="jmxPort">8099</property>
        <property name="user">admin</property>
        <property name="pass">admin75</property>
    </engine>

    <defaultProtocol type="Servlet 2.5" />
     <container qualifier="tomcat-remote">
        <configuration>
            <property name="jmxPort">8099</property>
            <property name="user">admin</property>
            <property name="pass">admin75</property>
        </configuration>
    </container>
</arquillian>

Я пытаюсь адаптировать пример приложения для Tomcat 6. Может кто-нибудь помочь, пожалуйста?

- Когда Arquillian поддержит tomcat 7?

С уважением,

J.

кот-users.xml:

<tomcat-users>
  <role rolename="manager"/>
  <role rolename="tomcat"/>
  <role rolename="admin"/>
  <role rolename="role1"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="admin" password="admin75" roles="manager,admin"/>

</tomcat-users>

1 Ответ

2 голосов
/ 07 ноября 2011

Это сообщение

Невозможно соединиться с менеджером Tomcat. Сбой команды сервера (/ deploy? Path =% 2Ftest) с responseCode (401) и responseMessage (не авторизуется).

означает, что верно одно из следующего:

  • файл tomcat-users.xml, используемый вашей установкой Tomcat, не имеет пользователя admin (который вы указали в arquillian.xml),
  • или пользователь admin не сопоставлен с ролью manager в Tomcat 6 или с ролью manager-script в Tomcat 7.

Когда Arquillian поддержит tomcat 7?

Arquillian поддерживает Tomcat 7 в качестве emebedded или управляемого контейнера. Документация не актуальна (на данный момент), но параметры конфигурации более или менее совпадают со встроенными и управляемыми эквивалентами в Tomcat 6. Идентификатор артефакта, который следует использовать для

  • управляемый экземпляр Tomcat 7 - org.jboss.arquillian.container:arquillian-tomcat-managed-7.
  • встроенный экземпляр Tomcat 7 - org.jboss.arquillian.container:arquillian-tomcat-embedded-7.

На сегодняшний день 1.0.0.CR2 является последней стабильной версией. Вы можете использовать 1.0.0.Final-SNAPSHOT, если хотите работать против сборки разработки.


Кроме того, вы можете опустить несколько избыточных свойств в вашем файле arquillian.xml. Более чистая конфигурация будет выглядеть так:

<arquillian xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://jboss.org/schema/arquillian
        http://jboss.org/schema/arquillian/arquillian-1.0.xsd">
      <engine>
        <property name="deploymentExportPath">target/</property>
    </engine>

    <container qualifier="tomcat-remote">
        <configuration>
            <property name="jmxPort">8099</property>
            <property name="user">admin</property>
            <property name="pass">admin75</property>
        </configuration>
    </container>
</arquillian>
...