JBoss Fuse — это решение с открытым исходным кодом ESB от Redhat. Это корпоративное решение, основанное на проекте сообщества Apache Servicemix.
Интеграция в Предохранитель
JBoss Fuse — это легкая и гибкая платформа интеграции, которая позволяет быстро интегрировать корпоративные приложения.
Изначально Fuse был разработан компанией Progressive software Inc., которая была приобретена Redhat в 2012 году. JBoss Fuse 6.1.0.redhat-379 GA — это стабильная версия Fuse, которую можно загрузить с их официального сайта.
Архитектура
Предохранитель объединяет различные технологии в единый продукт.
Компоненты
Apache CXF
Apache CXF — это среда разработки веб-сервисов с открытым исходным кодом, которая также поддерживает разработку веб-сервисов SOAP & Rest.
Apache Camel
Apache Camel — это интегрированная среда на основе EIP. Шаблоны EIP или Enterprise Integration — это идентифицированные решения для повторяющихся проблем в Enterprise Integration. Полное интеграционное решение может быть достигнуто метеорологически с комбинациями этих предопределенных готовых шаблонов.
Он позволяет писать логику маршрутизации на нескольких предметно-ориентированных языках, таких как Java, Spring DSL, Scala и т. Д.
Apache AMQ
Apache AMQ — это JMS, которая обеспечивает надежную систему обмена сообщениями в соответствии со стандартами JMS. Он не только поддерживает спецификацию JMS, но также предоставляет некоторые интересные и полезные функции, которые не включены в спецификации JMS.
Апаче Караф
Apache Karaf — это легкий OSGi-контейнер, который служит средой выполнения для артефактов. Apache Karaf более динамичен по сравнению с JVM. Это позволяет устанавливать или удалять модули во время выполнения. Все артефакты в Предохранителе развернуты в Карафе.
ткань
Fabric предоставляет простой способ управления развертыванием артефактов в большой и распределенной среде. Он обеспечивает централизованное управление всеми несколькими предохранителями.
Установка предохранителя
Установка Предохранителя довольно проста. Как и другие продукты JBoss, Fuse поставляется в виде zip-файла, который можно извлечь, и после некоторых незначительных изменений конфигурации он может быть запущен напрямую.
Установка Предохранителя состоит из четырех этапов —
Скачать
Скачать Fuse 6.1.0 GA можно по следующей ссылке. http://www.jboss.org/
расстегнуть молнию
Как и все другие продукты JBoss, Fuse также не зависит от платформы.
Разархивируйте загруженный файл в каталог назначения, которым вы хотите стать в каталог установки Fuse. Выбирайте этот каталог с умом, так как он должен оставаться неизменным в течение всего времени существования экземпляра Fuse.
Примечание. Несмотря на то, что Fuse распаковывается и запускается, как и другие продукты JBoss, не рекомендуется перемещать установку Fuse из одного места в другое после ее завершения.
конфигурировать
После того, как вы распакуете Fuse, вы найдете следующие каталоги внутри извлеченного каталога:
- бункер
- так далее
- развертывание
- Lib
- лицензии
- дополнительные услуги
- quickstarts
Из которых мы собираемся использовать только две директории bin & etc.
Фактически после извлечения Fuse мы сможем запустить fuse напрямую, но это запустит Fuse со всеми конфигурациями по умолчанию, что не рекомендуется для производственной среды. Настоятельно рекомендуется сделать следующие изменения перед запуском предохранителя.
Установить переменные среды
-
Установите следующие переменные окружения — JAVA_HOME
-
Переменная должна указывать на каталог установки Java — M2_HOME
-
Переменная должна указывать на каталог установки Maven — PATH
-
Установите переменную пути, чтобы включить исполняемые файлы Java & Maven.
Установите следующие переменные окружения — JAVA_HOME
Переменная должна указывать на каталог установки Java — M2_HOME
Переменная должна указывать на каталог установки Maven — PATH
Установите переменную пути, чтобы включить исполняемые файлы Java & Maven.
Windows
В Windows настройки можно выполнить, следуя приведенным ниже инструкциям —
Пуск → Мой компьютер → Щелкните правой кнопкой мыши → Свойства → Дополнительные параметры системы → Переменные среды.
UNIX & Clones
Для каждого пользователя в операционных системах * nix есть профиль bash. Мы можем добавить или отредактировать существующую системную переменную, изменив этот файл.
$ vi ~ / .bash_proflle
Примечание. Любые изменения в этом файле являются постоянными. Настоятельно рекомендуется сделать резервную копию существующего файла перед изменением оригинала.
Базовая конфигурация
Мы обсудим базовую конфигурацию JBoss Fuse, и для этого нам нужно начать со следующей команды Edit $ FUSE_INSTALLATION_DIR / etc /
-
В user.properties
-
# Админ = администратор, администратор
-
Это должно быть изменено в соответствии с первым администратором с желаемым именем пользователя, вторым администратором с паролем, третьим может быть сохранен как есть, потому что он указывает на роль и не забудьте удалить #
-
Например — FuseAdmin = FusePAss, администратор
-
В user.properties
# Админ = администратор, администратор
Это должно быть изменено в соответствии с первым администратором с желаемым именем пользователя, вторым администратором с паролем, третьим может быть сохранен как есть, потому что он указывает на роль и не забудьте удалить #
Например — FuseAdmin = FusePAss, администратор
-
В System.properties
-
karafName = root
-
Это указывает на имя, которое вы хотите дать экземпляру Karaf.
-
Мы можем назвать его как угодно, как Cont1.
-
Убедитесь, что это имя является уникальным и не используется другим экземпляром Fuse.
-
-
-
В org.ops4j.pax.web.cfg
-
Org.osgi.service.http.port = 8181
-
Это свойство указывает порт, который должен использоваться для доступа к браузерному интерфейсу HAWTIO, предоставленному Fuse.
-
HAWTIO — это встроенный интерфейс браузера для Fuse, который доступен начиная с версии 6.0
-
-
В org.ops4j.pax.url.mvn.cfg
-
org.ops4j.pax.url.mvn.localRepository = D: / repository
-
Это свойство указывает путь к localRepository нашего Maven, откуда Fuse будет устанавливать его артефакты.
-
org.ops4j.pax.url.mvn.settings = D: /Maven/conf/settings.xml
-
Это свойство указывает settings.xml, который Fuse должен использовать для получения артефактов от Maven.
-
В System.properties
karafName = root
Это указывает на имя, которое вы хотите дать экземпляру Karaf.
Мы можем назвать его как угодно, как Cont1.
Убедитесь, что это имя является уникальным и не используется другим экземпляром Fuse.
В org.ops4j.pax.web.cfg
Org.osgi.service.http.port = 8181
Это свойство указывает порт, который должен использоваться для доступа к браузерному интерфейсу HAWTIO, предоставленному Fuse.
HAWTIO — это встроенный интерфейс браузера для Fuse, который доступен начиная с версии 6.0
В org.ops4j.pax.url.mvn.cfg
org.ops4j.pax.url.mvn.localRepository = D: / repository
Это свойство указывает путь к localRepository нашего Maven, откуда Fuse будет устанавливать его артефакты.
org.ops4j.pax.url.mvn.settings = D: /Maven/conf/settings.xml
Это свойство указывает settings.xml, который Fuse должен использовать для получения артефактов от Maven.
Настройка Maven
Maven является обязательным условием для установки Fuse. Если вы не знаете, что такое Maven, пожалуйста, обратитесь к http://www.tutorialspoint.com/maven/
Maven — это встроенный инструмент, используемый для создания артефактов Предохранителя. Fuse сначала ищет в локальном репозитории Maven артефакты, когда мы запускаем команду для установки артефакта. Поэтому мы должны сообщить Fuse, где установлен Maven и путь к локальному хранилищу Maven.
Отредактируйте $ FUSE_INSTALLATION_DIR / etc / org.ops4j.paxurl.mvn.cfg
Обновите следующие два свойства —
- org.ops4j.pax.url.mvn.settings = $ M2_HOME / conf /settings.xml
- org.ops4j.pax.url.mvn.localRepository = $ local_repo
Примечание. Пожалуйста, измените $ local_repo, указав фактический путь к локальному репозиторию, указанный в файле Mavens settings.xml.
Бежать
После внесения основных изменений в конфигурацию мы можем запустить Fuse. Все двоичные файлы для работы с Fuse находятся в $ FUSE_INSTALLATION_DIR .
Есть два способа запустить Fuse —
-
Использование ./fuse
-
Это позволит вам увидеть весь прогресс и логи в том же окне, в котором вы запустили Fuse.
-
Это даст вам консоль Karaf в том же терминале, как показано ниже.
-
Использование ./fuse
Это позволит вам увидеть весь прогресс и логи в том же окне, в котором вы запустили Fuse.
Это даст вам консоль Karaf в том же терминале, как показано ниже.
Примечание. Это запустит предохранитель в режиме консоли, что означает, что процесс предохранителя также будет остановлен, когда пользователь выйдет из сеанса или закроет терминал, что нежелательно в сценарии производства или разработки. Этот скрипт следует использовать только для отладки Fuse.
-
Использование ./start
-
Это не будет отображать никаких журналов на экране, даже прогресс, но это запустит Fuse в фоновом режиме, и служба Fuse не будет остановлена, когда пользователь выйдет из сеанса или закроет терминал.
-
В реальных приложениях, этот тип поведения является желательным. Предохранитель должен работать в фоновом режиме, даже если мы закроем терминал.
-
Если вы хотите подключиться к Fuse, работающему в фоновом режиме, вы можете использовать клиентский скрипт, который находится в той же папке.
-
Вы должны получить дисплей, как показано на следующем скриншоте.
-
Выход из клиентского скрипта не остановит службу Fuse. Это просто закроет консоль предохранителя.
-
Использование ./start
Это не будет отображать никаких журналов на экране, даже прогресс, но это запустит Fuse в фоновом режиме, и служба Fuse не будет остановлена, когда пользователь выйдет из сеанса или закроет терминал.
В реальных приложениях, этот тип поведения является желательным. Предохранитель должен работать в фоновом режиме, даже если мы закроем терминал.
Если вы хотите подключиться к Fuse, работающему в фоновом режиме, вы можете использовать клиентский скрипт, который находится в той же папке.
Вы должны получить дисплей, как показано на следующем скриншоте.
Выход из клиентского скрипта не остановит службу Fuse. Это просто закроет консоль предохранителя.
HAWTIO
Fuse также обеспечивает полный доступ к GUI через FMC (консоль управления Fuse). Вы можете найти GUI по нижеуказанному URL http: // localhost: 8181 .
Все, что мы делали, выполняя команды, также можно сделать с помощью этого графического интерфейса на основе браузера. Это становится чрезвычайно полезным, когда у нас более одного контейнера и мы работаем в среде Fabric.