Каталог решений - Создание приложения Red Hat Fuse на основе OSGI-контейнера Karaf

Создание приложения Red Hat Fuse на основе OSGI-контейнера Karaf

Создание приложения Red Hat Fuse на основе OSGI-контейнера Karaf

В наличии

Red Hat Fuse — это промышленная интеграционная шина. Предлагаю вашему вниманию способ ее запуска из Red Hat Code Ready Studio и тестовый пример использования Apache Camel. Система будет считывать содержимое поступающих на её вход файлов и в зависимости от заданных в них реквизитов будет перемещать эти файлы между разными папками.

Категория:

Описание

Проверим работу Apache Camel — механизма маршрутизации и посредничества, который обеспечивает реализацию на основе объектов Java шаблонов Enterprise Integration с использованием API (или декларативного языка Java Domain Specific Language) для настройки правил маршрутизации и посредничества.

 

В Code Ready Studio создадим новый проект следующим образом:

  File/New/Other/RedHat Fuse/Fuse Integration Project 

 

 

Вводим название проекта. Кликаем Далее.

 

 

В окне Select a Target Environment выберите следующие параметры:

Выберите Standalone в качестве платформы развертывания.

Выберите Karaf / Fuse в Karaf  в раскрывающееся ячейке "Runtime"  fuse-karaf-7.8.0.fuse-780038-redhat-00001 RuntimeServer в качестве целевой среды выполнения.

 

 

После выбора целевой среды выполнения для вас автоматически выбирается версия Camel, и поле становится серым.
Кликаем "Next".

В открывшемся окне Advanced Project Setup выберите Beginner > Content Based Router — Blueprint DSL template.

Щелкните Готово.

Если будет предложено открыть связанную перспективу "Fuse Integration", нажмите Да.

 

Подождите, пока CodeReady Studio загрузит необходимые артефакты и построит проект в фоновом режиме.

Важно!

Если вы создаете проект Fuse в CodeReady Studio впервые, ему потребуется несколько минут, чтобы завершить создание проекта.
Не пытайтесь прервать работу или закрыть CodeReady Studio, пока проект строится в фоновом режиме.

Разверните проект на сервере следующим образом:

 В окне « Servers» (нижний левый угол перспективы «Интеграция Fuse»), если сервер еще не запущен, выберите fuse-karaf-7.8.0.fuse-780038-redhat-00001 Runtime Server и щелкните зеленую стрелку, чтобы запустить его.
   

   Примечание

    Если вы видите диалоговое окно, Warning: The authenticity of host ‘localhost’ can’t be established.t. , нажмите Да, чтобы подключиться к серверу и получить доступ к консоли Karaf.

    Подождите, пока вы не увидите сообщение, подобное следующему, в представлении консоли :

  

  Karaf started in 1s. Bundle stats: 12 active, 12 total

 

    После запуска сервера вернитесь в окно «Servers» , щелкните правой кнопкой мыши по серверу и выберите «Add and Remove» в контекстном меню.
    В диалоговом окне «Add and Removel» выберите fuse-camel-cbr проект (CBR и Test1) и нажмите кнопку « Добавить» .
    Щелкните готово!                                                                                                         

 

                                                                                                                                                                                                          Вы можете проверить, запущен ли пакет OSGi проекта, перейдя в Терминал введите  bundle:list | tail. Вы должны увидеть следующий результат:

  

  ...
  228 ^74; Active ^74;  80 ^74; 1.0.0.201505202023          ^74; org.osgi:org.osgi.service.j
  232 ^74; Active ^74;  80 ^74; 1.0.0.SNAPSHOT              ^74; Fuse CBR Quickstart

 

Заходим в проводник. Сейчас мы сделаем исполняемыми файлы "fuse", "karaf", "start" в папке bin , находящейся по пути: "/home/текущий пользователь/fuse/bin".

Открываем свойства каждого из этих файлов и на закладке Права устанавливаем флажок "Разрешить исполнение файла как программы".

Необходимо настроить авторизацию пользователей (как минимум администратора системы), для этого раскомментируем строки авторизации по умолчанию:

  # Disable admin user for the default installation
  admin = admin,_g_:admingroup
  _g_\:admingroup = group,admin,manager,viewer,systembundles,ssh

Вводим команду в терминале от главного администратора:

  sudo nano /etc/profile

Добавляем строку как показана на скриншоте:

  export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::")

 

 

Запускаем сервер через терминал, это можно сделать и в Code Ready Studio и в обычном терминале. Команда "sh fuse:"

 

  $ cd fuse-karaf
  $ cd bin
  $ sh fuse

 

Запуск сервера через консоль:

 

Открываем веб интерфейс (консоль управления Hawtio). Копируем адрес и вставляем его в браузер:

  http://localhost:8181/hawtio

Тестируем программу Camel CBR.

В тестовой среде Code Ready Studio настроена рабочее пространство Workspace (у нас это папка /home/akulov.na/Code-workspace), в котором находятся исполняемые файлы нашего проекта и данные, каталоги обмена по умолчанию. Эту папку можно увидеть или поменять с помощью команды меню> File > Switch Workspace>Other:

 

В каталоге "Workspace>CBR 1/src/main/resources/OSGI-INF/blueprint" (в данном случае это каталог "/home/akulov.na/Code-workspace/CBR 1/src/main/resources/OSGI-INF/blueprint") находится

 

has been added to your cart:
Оформление заказа