Статьи

Подсистема Camel для WildFly 8 интегрирует Java EE — Начало работы

Всего три дня назад команда из Томаса Дизлера ( @tdiesler ) выпустила версию 2.0.0.CR1 подсистемы WildFly-Camel, которая позволяет добавлять маршруты Camel Routes как часть конфигурации WildFly. Маршруты могут быть развернуты как часть приложений JavaEE. Компоненты JavaEE могут получить доступ к API-интерфейсу Camel Core и различным API-интерфейсам Camel Component.
В этом выпуске, в частности, добавлен ряд новых верблюжьих компонентов в подсистему и добавлена ​​поддержка режима домена WildFly. Помимо упаковки и начальной загрузки Camel в Java EE 7, эта подсистема устанавливает Camel непосредственно на ваш сервер WildFly 8.x. Насколько я знаю, он работает даже с последней версией 8.2.0. Финал, но не проверен. Нет, что есть очень легкий и легкий способзагрузите Camel в Java EE 7 , но этот подход обеспечивает еще большую интеграцию со стандартами Java EE. Конечная цель для подсистемы — предоставить функции Camel в качестве опции для непосредственного использования в WildFly без необходимости что-либо настраивать или развертывать. В этом главное отличие простого модуля от полной подсистемы.

Начало работы
Установите WildFly 8.x, загрузив «Java EE7 Full & Web Distribution» с сайта wildfly.org . Установите, просто распаковав его в папку по вашему выбору. Следующим шагом является загрузка дистрибутива (53 МБ, tar.gz) для WildFly из репозитория JBoss Maven. После загрузки перейдите в папку WildFly и распакуйте в нее архив. Вот и все. Теперь запустите автономный или доменный режим с соответствующим * -camel.xml:

$ bin/standalone.sh|bat -c standalone-camel.xml

Некоторые дополнительные настройки
После того, как мы это сделали, вам нужно добавить еще нескольких пользователей. Прежде всего пользователь управления.

$ bin/add-user.sh|bat 

Называй как хочешь.
По соображениям удобства я склонен называть его admin с паролем admin. Но имейте в виду, что это худшая практика, которую вы можете применить;)

После этого добавьте еще одного пользователя приложения.
Чтобы упростить его, мы просто назовем его одним и тем же небезопасным паролем.
Изучение того, что там

После того, как вы интегрировали подсистему в WildFly, вы можете найти модули Apache Camel и JBoss в папке модулей. Папка standalone \ deployments содержит два war-файла. Одним из них является
HawtIo, а другим —
wildfly-camel.war, который в основном является
примером camel-cdi, но об этом позже. Прежде всего, укажите в своем браузере: 
http: // localhost: 8080 / hawtio / и войдите в систему с созданным пользователем приложения.

Вы можете видеть, что вкладки ActiveMQ и Camel включены, это означает, что оба модуля были развернуты и обнаружены HawtIo. Развернув вкладку Camel, вы увидите два развернутых маршрута. Для интеграции используются версии Apache Camel 2.14.0, HawtIo 1.4.22 и Arquillian 1.1.2.Final.

Функции высокого уровня

Стратегия wildfly-camel заключается в том, что пользователь может «просто использовать» основные / компонентные API верблюда в развертываниях, которые WildFly уже поддерживает. Другими словами, Camel должен «просто работать» в стандартных развертываниях Java EE. Двоичные файлы предоставляются платформой. При развертывании не нужно беспокоиться о деталях модуля / проводки.

Определение и развертывание верблюжьих контекстов может быть сделано разными способами. Вы также можете напрямую определить
контекст в вашем standalone-camel.xmlнастройте сервер или разверните его как часть вашего
веб-приложения либо в виде одного XML-файла с предопределенным суффиксом файла -camel-context.xml, либо в качестве части другого поддерживаемого WildFly развертывания в виде файла META-INF / jboss-camel-context.xml ,

В тестовом наборе WildFly Camel используется управляемый контейнер WildFly Arquillian. Это может подключиться к уже запущенному экземпляру WildFly или, при необходимости, запустить автономный экземпляр сервера. Внедрен ряд тестовых обогащений, которые позволяют вам вводить эти специфические типы WildFly Camel в ваши тестовые наборы Arquillian; Вы можете добавить CamelContextFactory или CamelContextRegistry как @ArquillianResource.

Следующие шаги

Вы можете просто отменить развертывание wildfly-camel.war и начать все заново с вашего собственного приложения. Вы можете либо покопаться в существующих
примерах на GitHub, либо подождать, пока мой следующий пост в блоге не расскажет вам немного об этом.

Если вы не хотите возиться с установкой и исправлением, вы можете посмотреть на готовые изображения докеров, которые были опубликованы в
wildflyext / wildfly-camel .

Дополнительная информация

Веб-сайт Apache

Camel Интеграция WildFly Camel GitBook

Запланированная дорожная карта