Адаптер контейнера Liberty-Arquillian не читает файл server.env

Обзор проблемы
При выполнении теста управляемого контейнера arquillian Liberty определенные переменные среды не разрешаются в файле server.xml. Можно увидеть, как WLPManagedContainer.class пытается найти server.env, однако запущенное приложение в среде выполнения с использованием server.env не разрешается во время тестирования.

Ожидаемое поведение
Файл server.xml, содержащий, например. и foo=bar, определенный в server.env в каталоге работающего сервера. Должно быть решено во время тестирования в контейнере. При получении jndiEntry с помощью @Resource(lookup="env/foo") String foo; должен разрешать запрет во время выполнения, а также во время тестирования arquillian См.: https://github.com/HasseNasse/liberty-arquillian-envvars

Текущее поведение
Сервлет приложения разрешает @Resource(lookup="env/foo") String foo; запретить во время развертывания приложения. Во время тестирования Arquillian @Resource(lookup="env/foo") String foo; разрешается в ${env.foo}, как определено в server.xml.

Протестировано с использованием Java 11 (Azul Zulu) и Java 8 (Azul Zulu + Oracle JDK).

Действия по воспроизведению
Запуск Аркиллианского теста:

  1. git клон https://github.com/HasseNasse/liberty-arquillian-envvars.git
  2. mvn проверить

Развертывание приложения

  1. git клонировать https://github.com/HasseNasse/liberty-arquillian-envvars.git
  2. mvn свобода:старт-сервер
  3. cp target/ target/liberty/wlp/user/servers/defaultserver/dropins
  4. Перейдите к http://localhost:9080/net_nazarsit_arq_war/foo

похоже, вы нашли действительную ошибку в плагине Liberty-Arquillian. Не могли бы вы поднять вопрос о репозитории github? github.com/OpenLiberty/liberty-arquillian Это было бы более подходящим местом для отслеживания, чем на SO

Andy Guibert 31.01.2019 17:37

@AndyGuibert Давай! github.com/OpenLiberty/liberty-arquillian/issues/40

Hassan Nazar 31.01.2019 21:45
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
2
87
0

Другие вопросы по теме