Общая информация

Apache Camel — открытый кроссплатформенный java-фреймворк, который позволяет проводить интеграцию приложений в простой и понятной форме.

Camel использует доменные языки (Domain Specific Language - DSL) для описания проектных шаблонов интеграции или маршрутов.

В Citeck используется Yaml DSL для описания маршрутов в формате YAML и XML DSL.

Camel-контекст – главная сущность Camel. Контекст является контейнером среды выполнения Camel. Контекст предоставляет много полезных сервисов, наиболее значимыми являются маршруты, компоненты, языки, конверторы типов, реестр, endpointы и форматы данных.

Маршрут – определение интеграционного потока Например, для объединения двух систем маршрут определяет как именно эти системы взаимодействуют.

Компоненты - подробно описано по ссылке

  • Bean – для вызова методов Java-бинов, хранящихся в реестре;

  • Direct – вызывает другой endpoint из того же контекста синхронно;

  • Direct VM - вызывает другой endpoint из любого контекста на той же JVM синхронно;

  • File – читает и записывает файлы;

  • Timer – генерирует сообщения с определенным интервалом, используя java.util.Timer;

  • JDBC – предоставляет доступ к базам данных через JDBC;

  • Jetty – предоставляет endpoint на основе HTTP для получения и отправки HTTP запросов.

Пример контекста с маршрутом:

../../_images/Camel_1.png

Тип запуска:

  • MANUALLY - Работает, как и обычный Camel DSL. Запускается и останавливается через действие.

  • IMPORT_DATA - Используется для описания обработки файла при Импорте данных

Примечание

Атрибут = свойство = поле

Целевая БД = БД назначения = целевой источник данных – куда данные помещаются

Исходная БД = исходный источник данных – откуда данные берутся