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