ATOM

Поддерживается только потребитель.

Компонент Atom используется для опроса лент Atom.

По умолчанию Camel будет опрашивать ленту каждые 60 секунд.

Примечание: В настоящее время компонент поддерживает только опрос лент.

Пользователям Maven нужно добавить следующую зависимость в файл pom.xml для использования этого компонента:

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-atom</artifactId>
    <version>x.x.x</version>
    <!-- use the same version as your Camel core version -->
</dependency>

URI format

atom://atomUri[?options]

atomUri - это URI Atom-ленты, которую нужно опрашивать.

Configuring Options

Компоненты настраиваются на двух отдельных уровнях:

  • component level

  • edpoint level

Configuring Component Options

На уровне компонента задаются основные и общие настройки, которые впоследствии наследуются endpoints. Это самый высокий уровень конфигурации.

Например, компонент может иметь настройки безопасности, учетные данные для аутентификации, URL-адреса для сетевых подключений и т. д.

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

Компоненты можно настроить с использованием:

  • Component DSL.

  • Конфигурационного файла (application.properties, *.yaml files, etc).

  • Напрямую в Java code.

Configuring Endpoint Options

Обычно больше времени уходит на настройку endpoints, так как они обладают множеством параметров. Эти параметры позволяют настроить поведение endpoint в соответствии с вашими потребностями. Кроме того, параметры делятся на категории в зависимости от того, используется ли endpoint как потребитель (from), как производитель (to) или в обеих ролях.

Настройка endpoints чаще всего выполняется непосредственно в URI endpoint в виде параметров пути и запроса. Также вы можете использовать Endpoint DSL и DataFormat DSL как типобезопасный способ настройки endpoints и форматов данных в Java.

Хорошей практикой при настройке параметров является использование Property Placeholders.

Property placeholders предоставляют несколько преимуществ:

  • Помогают избежать использования жестко закодированных URL-адресов, номеров портов, конфиденциальной информации и других настроек.

  • Позволяют вынести конфигурацию за пределы кода.

  • Делают код более гибким и удобным для повторного использования.

Component properties

Feed Uri

  • Обязательно для заполнения - URI ленты для опроса.

  • По умолчанию:

  • Тип: String

Send Empty Message When Idle

  • Если опрашивающий потребитель не нашел ни одного файла, вы можете включить эту опцию, чтобы отправить пустое сообщение (no body) вместо этого.

  • По умолчанию: false

  • Тип: boolean

Sort Entries

  • Устанавливает, следует ли сортировать записи по дате публикации. Работает только при включенной опции splitEntries = true.

  • По умолчанию: false

  • Тип: boolean

Split Entries

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

  • По умолчанию: true

  • Тип: boolean

Throttle Entries

  • Sets whether all entries identified in a single feed poll should be delivered immediately. If true, only one entry is processed per delay. Only applicable when splitEntries = true.

    Определяет, должны ли все записи, найденные за один цикл опроса, быть доставлены немедленно. Если значение true, за один интервал задержки обрабатывается только одна запись. Применимо только при splitEntries = true.

  • По умолчанию: true

  • Тип: boolean

Component scheduler properties

Backoff Error Threshold

  • Число последовательных ошибочных опросов (неудавшихся из-за какой-либо ошибки), после которого должен начать действовать множитель замедления (backoffMultiplier).

  • По умолчанию:

  • Тип: String

Backoff Idle Threshold

  • Количество подряд неактивных опросов, необходимых для активации множителя замедления (backoffMultiplier).

Backoff Multiplier

  • Данная опция позволяет потребителю, выполняющему опрос по расписанию, снижать частоту опросов в случае нескольких подряд идущих периодов бездействия или ошибок. Множитель указывает, сколько опросов будет пропущено перед следующей попыткой. Для работы этой настройки требуется также указать значения backoffIdleThreshold и/или backoffErrorThreshold.

  • По умолчанию:

  • Тип:

Delay

  • Количество миллисекунд, которое должно пройти перед выполнением следующего опроса.

Greedy

  • В случае активации опции greedy, ScheduledPollConsumer будет запускаться повторно сразу же, если в предыдущем опросе было обработано одно или более сообщений.

  • По умолчанию:

  • Тип:

Initial Delay

  • Количество миллисекунд перед началом первого опроса.

Repeat Count

  • Указывает максимальное количество запусков. Например, если установить значение 1, scheduler выполнит только один раз. Если установить значение 5, он выполнится пять раз. Значение 0 или отрицательное означает бесконечное выполнение.

  • По умолчанию:

  • Тип:

Run Logging Level

  • Потребитель записывает строки логов о начале и завершении процесса во время опроса. Эта опция позволяет настроить уровень детализации этих записей.

    Возможные значения:

    • TRACE

    • DEBUG

    • INFO

    • WARN

    • ERROR

    • OFF

Scheduled Executor Service

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

  • По умолчанию:

  • Тип:

Scheduler

  • Использование scheduler cron из компонентов camel-spring или camel-quartz. Для использования встроенного scheduler используйте значение spring или quartz.

Scheduler Properties

  • Для настройки дополнительных свойств при использовании пользовательского scheduler или одного из scheduler на базе Quartz или Spring.

  • По умолчанию:

  • Тип:

Start Scheduler

  • Определяет, должен ли scheduler запускаться автоматически.

Time Unit

  • Единица измерения времени для опций initialDelay и delay.

    Возможные значения:

    • NANOSECONDS

    • MICROSECONDS

    • MILLISECONDS

    • SECONDS

    • MINUTES

    • HOURS

    • DAYS

  • По умолчанию:

  • Тип:

Use Fixed Delay

  • Устанавливает, будет ли использоваться фиксированная задержка или фиксированная частота.

Component advanced properties

Bridge Error Handler

  • Позволяет связать потребителя с обработчиком ошибок маршрутизации Camel, что означает, что любые исключения (если возможно), возникшие при попытке потребителя Camel обработать входящие сообщения или выполнить подобные действия, будут преобразованы в сообщение и обработаны Error Handler.

    Важно: это возможно только в случае, если сторонний компонент позволяет Camel получать уведомления о возникновении исключений. Некоторые компоненты обрабатывают исключения только внутри себя, поэтому использование bridgeErrorHandler невозможно. По умолчанию потребитель использует org.apache.camel.spi.ExceptionHandler для обработки исключений, которые будут логироваться на уровне WARN или ERROR и игнорироваться.

  • По умолчанию: false

  • Тип: boolean

Exception Handler

  • Позволяет потребителю использовать пользовательский ExceptionHandler.

    Обратите внимание: если включена опция bridgeErrorHandler, то эта настройка не применяется. По умолчанию потребитель обрабатывает исключения, которые логируются в журнале на уровнях WARN или ERROR и игнорируются.

  • По умолчанию:

  • Тип: ExceptionHandler

Exchange Pattern

  • Устанавливает шаблон обмена (exchange pattern), который используется потребителем при создании обмена.

    Возможные значения:

    • InOnly

    • InOut

  • ExchangePattern

Feed Header

  • Устанавливает, следует ли добавлять объект потока в заголовки.

  • По умолчанию: true

  • Тип: boolean

Poll Strategy

  • Настраиваемая стратегия org.apache.camel.PollingConsumerPollingStrategy, позволяющая внедрить собственную логику обработки ошибок, происходящих в процессе опроса до создания и маршрутизации Exchange в Camel.

  • По умолчанию:

  • Тип: PollingConsumerPollStrategy