Как протестировать развертывание JBoss автоматически?

В Python все совместно используется, за исключением функциональных локальных переменных (потому что каждый вызов функции получает свою собственную группу местных жителей, и потоки всегда являются вызовами отдельной функции.) И даже тогда, только сами переменные (имена, которые относятся к объектам) локальны для функции; сами объекты всегда глобальны, и что-либо может относиться к ним. Эти Thread объект для конкретного потока не является специальным объектом в этом отношении. Если Вы храните эти Thread объект где-нибудь, все потоки могут получить доступ (как глобальная переменная) тогда, все потоки могут получить доступ к тот одному Thread объект. Если Вы хотите атомарно изменить что-нибудь , что Вы только создали в этом очень тот же поток и не сохранили нигде другой поток, может достигнуть его, необходимо защитить его блокировкой. И все потоки должны, конечно, совместно использовать это очень та же блокировка, или это не было бы очень эффективно.

, Если Вы хотите фактическую локальную память потока, это - то, где threading.local входит. Атрибуты threading.local не совместно используются потоками; каждый поток видит только атрибуты, которые он сам поместил туда. Если Вам любопытно на предмет его реализации, источник находится в _threading_local.py в стандартной библиотеке.

5
задан Max 30 October 2009 в 14:00
поделиться

3 ответа

Зависит от того, что вы подразумеваете под «автоматическим тестовым развертыванием». Если вам нужно только проверить успешность развертывания,

  • вы можете запросить JMX,
  • или использовать JBoss Fresh (сейчас альфа).

Если вы хотите провести некоторые тесты CI,

  • тогда Cargo - это хороший инструмент и работает как с последними версиями JBoss AS, так и с EAP.
  • Также см. JSFUnit, если вы используете JSF.

Чтобы склеить все вместе, используйте Maven (мой выбор), Ant или Groovy.

3
ответ дан 14 December 2019 в 04:41
поделиться

Я не нашел хорошего способа сделать это с JBoss 4.x, кроме написания сценария для выполнения различных шагов. После запуска сервера подождите достаточно долго, пока службы JBoss запустят и развернут приложение, затем проверьте, что основные компоненты вашего приложения зарегистрированы в JNDI.

Я нашел несколько ссылок, которые могут помочь сделать это с помощью JBoss 5 :

Я собирался предложить вам написать свой сценарий как плагин Hudson, но, возможно, вы могли бы использовать это вместо: JBoss JPBM Plugin for Hudson

1
ответ дан 14 December 2019 в 04:41
поделиться

Используйте Cargo для автоматического цикла «(загрузка сервера), запуск сервера, развертывание приложения, запуск тестов, удаление развертывания, останов сервера». Плагин Maven Cargo хорошо справляется с выполнением интеграционных тестов с использованием Surefire. поддерживает большинство серверов приложений, включая JBoss 4.

Cargo предоставляет следующие инструменты и API:

  • Java API для запуска / остановки / настройки контейнеров Java и развертывания в них модулей.
  • Java API для синтаксического анализа / создания / объединения модулей Java EE
  • Задачи Ant, плагины Maven 1, Maven 2.
4
ответ дан 14 December 2019 в 04:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: