Poll Enrich
Общее описание
Блок Poll Enrich дополняет текущее сообщение данными, полученными из внешнего источника (файл, база данных, очередь) по принципу опроса (polling). Компонент выполняет синхронный запрос к источнику, обогащает сообщение полученными данными и передает его дальше по маршруту.
Блок Poll Enrich может использоваться в качестве:
- блока-обработчика.
Блок-обработчик предназначен для управления, проверки и преобразования данных, которые используются в контексте потока.
Настройка блока
В данном разделе описаны параметры блока Poll Enrich, которые необходимо заполнить при его настройке.
Базовые параметры
| Название в UI | Название атрибута | Описание | Значение по умолчанию | Тип данных |
|---|---|---|---|---|
| Protocol | protocol | Обязательный параметр Определяет протокол подключения к внешней сестеме. Возможные значения:
| Список | |
| Description | description | Краткое описание блока. | Строка | |
| Variable Receive | variableReceive | Позволяет использовать переменную для хранения тела полученного сообщения (только body, без заголовков). Важно: при использовании переменной для получения сообщения тело сохраняется только в этой переменной, а не в текущем сообщении. | Строка | |
| Aggregation Strategy | aggregationStrategy | Задает стратегию агрегации, которая будет использована для объединения ответа от внешнего сервиса в одно исходящее сообщение. Для применения стратегии агрегации требуется разработать кастомную стратегию — отдельный бин и зарегистрировать его в ESB Core. После добавления он станет доступен в списке. | Список | |
| Timeout | timeout | Устанавливает таймаут (в миллисекундах) на установление соединения с внешней системой. При "-1" - ожидает, пока внешняя система станет доступной для обмена. В этом случае выполнение потока и обработка сообщений могут блокироваться бесконечно | 30000 | Целое число |
| Cache Size | cacheSize | Задает максимальный размер кэша org.apache.camel.spi.ConsumerCache, который используется для кэширования и повторного использования консьюмеров при повторном использовании URI. При "-1" - кэш отключен.ю | 1000 | Целое число |
Расширенные параметры
| Название в UI | Название атрибута | Описание | Значение по умолчанию | Тип данных |
|---|---|---|---|---|
| Aggregation Strategy Method Name | aggregationStrategyMethodName | Задает имя алгоритма агрегации. Эта опция полезна, если ваш класс-агрегатор имеет несколько методов, и вы хотите выбрать конкретный метод, не реализуя стандартный интерфейс. | Строка | |
| Aggregation Strategy Method Allow Null | aggregationStrategyMethodAllowNull | Указывает, можно ли вызывать метод агрегации, если на первом вызове не было старого агрегированного сообщения, т. е. оно было пустым — NULL. Если значение параметра равно False, то метод агрегации не вызывается для первой части сообщения, а его результат просто используется как основа для последующей агрегации. | False | Логическое значение |
| Aggregate On Exception | aggregateOnException | Управляет поведением агрегации при возникновении исключения во время получения данных для обогащения. При False метод агрегации не вызывается при ошибке получения данных. Если True, агрегация выполняется — это позволяет обработать исключение внутри метода (например, подавить ошибку или установить кастомное тело сообщения). | False | Строка |
| Ignore Invalid Endpoint | ignoreInvalidEndpoint | Если True, игнорирует исключение, возникающее при попытке создать отправитель для некорректного (невалидного) endpoint. | False | Логическое значение |
| Auto Start Components | autoStart | Определяет, должны ли компоненты, задействованные в Poll Enrich, автоматически запускаться при старте обогатителя. При False запуск нужно инициировать вручную либо через внешние механизмы оркестрации. | True | Логическое значение |
| Disabled | disabled | Определяет будет ли отключен блок в потоке. В активированном потоке функциональность блока не будет отрабатываться. При отключении родительского блока все дочерние блоки будут также отключены. | False | Логическое значение |
Подробное описание параметров протоколов SFTP и FTP достуно в разделе "Компоненты" - "Работа с файлами".