Параметры коннекторов

FILE (IN/OUT)

General

general
Название Описание

Factory

Идентификатор используемой фабрики с предустановленным значением (FILE :: IN / FILE :: OUT).

Display name

Отображаемое имя коннектора.

Description

Поле для краткого описания.

Classifier

Уникальный идентификатор коннектора.

Run Exclusive

Входной коннектор. Чек-бокс, активирующий запуск только на одном узле кластера.

Pre-Route

Входной коннектор. Настройка обработки сообщений перед их дальнейшей маршрутизацией во входной поток профиля.

Pre-Output

Выходной коннектор. Настройка обработки сообщений перед их дальнейшей маршрутизацией в принимающую систему.

Generate logging key

Входной коннектор. Чек-бокс, активирующий создание ключа логирования, который будет использоваться для отслеживания обработки запроса.

File Connection

Используемая файловая коннекция.

Directory Name

Имя начальной директории.

Redelivery policy

redelivery

Настройка обработки ошибок и повторной доставки сообщений. Подробнее ознакомиться можно здесь.

Routes

routes
  • AGGREGATOR
    Маршрут для агрегирования нескольких сообщений на основе заданных критериев.

  • QUARTZ
    Маршрут используется для планирования задач с помощью Quartz Scheduler. Он позволяет запускать маршруты на основе расписания, которое можно настроить с помощью Cron выражений или простых интервалов времени.

  • ROUTE-CALLABLE
    Маршрут для выполнения настраиваемых логик и операций, позволяющий вызывать различные функции и взаимодействовать с внешними системами.

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

Response

response
Название Описание

Process response

Входной коннектор. Чек-бокс активирующий обработку ответа перед его дальнейшей маршрутизацией в отправляющую систему.

Response route

Входной коннектор. Настройка обработки ответа перед его дальнейшей маршрутизацией в систему отправки.

Postprocess response

Выходной коннектор. Чек-бокс активирующий постобработку ответов перед их дальнейшей маршрутизацией в выходной поток профиля.

Postprocess route

Выходной коннектор. Настройка постобработки ответа перед его дальнейшей маршрутизацией в выходной поток профиля.

Entaxy

Входной коннектор.

entaxy
Название Описание

Default target system

Название профиля принимающей системы (System name).

Consumer

Входной коннектор.

consumer

Название

Описание

Bridge Error Handler

Позволяет соединить потребителя с обработчиком ошибок маршрутизации Camel. Это означает, что любые исключения, возникающие при попытке потребителя получить входящие сообщения или в аналогичных ситуациях, будут обрабатываться как сообщения и направляться в обработчик ошибок маршрутизации. По умолчанию потребитель использует org.apache.camel.spi.ExceptionHandler для обработки исключений, которые регистрируются на уровне WARN или ERROR и игнорируются.

Delete

Если чек-бокс включен, файл будет удален после успешной обработки.

Move Failed

Устанавливает выражение перемещения при неудаче на основе языка Simple. Например, для перемещения файлов в подкаталог .error используйте: .error. Обратите внимание, что при перемещении файлов в место для ошибок Camel обработает ошибку и не будет повторно обрабатывать файл.

Noop

Если чек-бокс включен, файл не будет перемещаться или удаляться. Эта опция подходит для данных только для чтения или для сценариев ETL. Если noop=true, Camel также установит idempotent=true, чтобы предотвратить повторное потребление одних и тех же файлов.

Pre Move

Выражение (например, File Language), используемое для динамического задания имени файла при его перемещении перед обработкой. Например, чтобы переместить файлы, находящиеся в процессе обработки, в каталог order, установите это значение на order.

Pre Sort

При включенной предварительной сортировке потребитель будет сортировать имена файлов и каталогов, полученные из файловой системы, во время опроса. Это может быть полезно, если необходимо обрабатывать файлы в отсортированном порядке. Предварительная сортировка выполняется до того, как потребитель начнет фильтровать и принимать файлы для обработки в Camel. По умолчанию данная опция отключена (значение false).

Recursive

Если этот чек-бокс включен, поиск файлов будет осуществляться также во всех подкаталогах указанного каталога.

Send Empty Message When Idle

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

Producer

Выходной коннектор.

producer

Название

Описание

Lazy Start Producer

Определяет, следует ли откладывать инициализацию продюсера до момента получения первого сообщения. Ленивый запуск позволяет CamelContext и маршрутам запускаться даже в тех случаях, когда немедленная инициализация продюсера может привести к сбою и прервать запуск маршрута. При ленивой инициализации возможные ошибки можно обработать с помощью маршрутизируемых обработчиков ошибок Camel при первом обращении к продюсеру. Следует учитывать, что инициализация и запуск продюсера при первом сообщении могут занять больше времени, что увеличит общее время обработки.

Append Chars

Используется для добавления символов (текста) после записи файлов. Это может использоваться, например, для добавления новых строк или других разделителей при записи и добавлении к существующим файлам. Чтобы указать символы новой строки (например, \n или \r) или символ табуляции (\t), необходимо экранировать их дополнительным слэшем, например, \\n.

File Exist

Выбор поведения если файл с таким же именем уже существует.
Заменить (Override): Это поведение по умолчанию, которое заменяет существующий файл.

Добавить (Append): Добавляет содержимое к существующему файлу.

Выдать ошибку (Fail): Генерирует GenericFileOperationException, указывая на то, что файл с таким же именем уже существует.

Игнорировать (Ignore): Молча игнорирует проблему, не заменяя существующий файл, и предполагает, что все в порядке.

Переместить (Move): Эта опция требует использования настройки moveExisting. Опция eagerDeleteTargetFile может быть использована для управления тем, что делать, если при перемещении файла существует файл с таким же именем; в противном случае операция перемещения завершится неудачей. Опция Move перемещает все существующие файлы перед записью целевого файла.

Попробовать переименовать (TryRename): Применима только в том случае, если используется опция tempFileName. Это позволяет попробовать переименовать файл с временного имени в фактическое имя без проверки на существование, что может быть быстрее на некоторых файловых системах, особенно на FTP-серверах.

Flatten

Используется для упрощения имени файла, удаляя все ведущие пути, оставляя только имя файла. Это позволяет рекурсивно обрабатывать подкаталоги, но, например, при записи файлов в другую директорию они будут записаны в одной папке. Установка этого параметра в значение true на стороне производителя гарантирует, что любое имя файла в заголовке CamelFileName будет освобождено от ведущих путей.

Jail Starting Directory

Используется для ограничения записи файлов только в начальную директорию (и подкаталоги). Эта функция включена по умолчанию, чтобы не позволить Camel записывать файлы во внешние директории (для повышения безопасности "из коробки"). Вы можете отключить это, чтобы разрешить запись файлов в директории вне начальной директории, такие как родительские или корневые папки.

Move Existing

Использование выражения (например, File Language) для вычисления имени файла при настройке fileExist=Move. Чтобы переместить файлы в подкаталог резервного копирования, просто укажите "backup". Эта опция поддерживает только следующие токены File Language: file , file .ext, file .noext, file , file .noext, file и file . Обратите внимание, что file не поддерживается компонентом FTP, поскольку компонент FTP может перемещать любые существующие файлы только в относительную директорию на основе текущей директории в качестве основы.

Temp File Name

Параметр аналогичный опции tempPrefix, но предоставляет более тонкий контроль над именованием временного файла, поскольку использует File Language. Расположение tempFileName определяется относительно конечного местоположения файла в опции 'fileName', а не относительно целевой директории в базовом URI. Например, если опция fileName включает префикс директории: dir/finalFilename, то tempFileName будет относительным к этому подкаталогу dir.

Temp Prefix

Эта опция используется для записи файла с временным именем, а затем, после завершения записи, переименовывает его в настоящее имя. Может использоваться для идентификации записываемых файлов, а также для того, чтобы избежать чтения прогресс-файлов потребителями (не использующими эксклюзивные блокировки чтения). Часто используется в FTP при загрузке больших файлов.

Advanced

advanced

Название

Описание

Basic Property Binding

Параметр определяет, следует ли компоненту использовать базовое связывание свойств (Camel 2.x) или новое связывание свойств с дополнительными возможностями.

Auto Create

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

Buffer Size

Параметр "Buffer size" определяет размер буфера в байтах, используемого для записи файлов. В случае FTP этот буфер применяется для загрузки и скачивания файлов.

Copy And Delete On Rename Fail

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

Rename Using Copy

Параметр указывает, следует ли выполнять операции переименования с использованием стратегии копирования и удаления. Этот метод используется в средах, где стандартная операция переименования ненадежна (например, между различными файловыми системами или сетями). Эта опция имеет приоритет над параметром copyAndDeleteOnRenameFail, который автоматически переходит на стратегию копирования и удаления, но только после дополнительных задержек.

Synchronous

Параметр определяет, следует ли строго использовать синхронную обработку или разрешить Camel использовать асинхронную обработку (если это поддерживается).

Common

common

Название

Описание

Charset

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

Done File Name

Producer: Если указано, Camel создаст второй файл "done" после того, как оригинальный файл будет записан. Файл "done" будет пустым. Эта опция настраивает имя файла. Можно указать фиксированное имя или использовать динамические плейсхолдеры. Файл "done" всегда будет записываться в той же папке, что и оригинальный файл.

Consumer: Если указано, Camel будет потреблять файлы только в том случае, если файл "done" существует. Эта опция настраивает имя файла. Можно указать фиксированное имя или использовать динамические плейсхолдеры. Файл "done" всегда ожидается в той же папке, что и оригинальный файл. Поддерживаются только плейсхолдеры ${file.name} и ${file.name.next}.

File Name

Используйте выражение, например, File Language, для динамического задания имени файла. Для потребителей это служит фильтром имен файлов, а для производителей — для определения имени файла, который будет записан. Если задано выражение, оно имеет приоритет над заголовком CamelFileName. (Примечание: сам заголовок также может быть выражением.) Опции выражения поддерживают типы String и Expression. Если выражение имеет тип String, оно всегда оценивается с помощью File Language. Если выражение имеет тип Expression, используется указанный тип выражения, что позволяет, например, применять выражения OGNL. Для потребителей это выражение можно использовать для фильтрации имен файлов, например, для потребления файла за сегодняшний день с использованием синтаксиса File Language: mydata-${date:now }.txt. Производители поддерживают заголовок CamelOverruleFileName, который имеет приоритет над любым существующим заголовком CamelFileName; этот заголовок используется только один раз, что упрощает процесс, избегая необходимости временного хранения и последующего восстановления заголовка CamelFileName.

Producer (advanced)

Выходной коннектор.

producer advanced

Название

Описание

Allow Null Body

Используется для указания того, разрешено ли при записи файла использовать нулевое тело. Если чек-бокс активирован, то будет создан пустой файл; если чек-бокс не активирован и попытаться отправить нулевое тело в файловый компонент, будет сгенерировано исключение GenericFileWriteException с сообщением 'Cannot write null body to file.'. Если для параметра fileExist установлено значение 'Override', то файл будет усечен, а если установлено значение 'Append', то файл останется неизменным.

Chmod

Используется для указания прав доступа к файлу, отправляемые продюсером, значение chmod должно быть между 000 и 777; Если есть ведущий цифровой символ, например 0755, он будет проигнорирован.

Chmod Directory

Используется для указания прав доступа к каталогам, которые будут применяться при создании отсутствующих директорий продюсером. Значение chmod должно находиться в пределах от 000 до 777; если есть ведущая цифра, как в 0755, она будет проигнорирована.

Eager Delete Target File

Определяет, следует ли предварительно удалять существующий целевой файл. Эта опция применяется только в случае использования параметров fileExists=Override и tempFileName. Вы можете отключить (установить в false) удаление целевого файла до записи временного файла. Например, если вы записываете большие файлы и хотите, чтобы целевой файл существовал во время записи временного файла. Это гарантирует, что целевой файл будет удален только в последний момент, непосредственно перед переименованием временного файла в целевое имя. Эта опция также используется для управления тем, следует ли удалять существующие файлы, когда включен fileExist=Move и существует уже существующий файл. Если параметр copyAndDeleteOnRenameFails установлен в false, то будет сгенерировано исключение, если существующий файл был обнаружен; если true, то существующий файл будет удален перед операцией перемещения.

Force Writes

Определяет, нужно ли принудительно синхронизировать записи в файловую систему. Вы можете отключить эту опцию, если вам не требуется такой уровень гарантии, например, при записи в журналы или аудиторские журналы; это обеспечит более высокую производительность.

Keep Last Modified

Сохранит временную метку последнего изменения исходного файла (если таковая имеется). Для поиска временной метки будет использоваться заголовок Exchange.FILE_LAST_MODIFIED. Этот заголовок может содержать либо java.util.Date, либо long с временной меткой. Если временная метка существует и опция включена, она будет установлена на записанном файле. Примечание: Эта опция применяется только к файловому продюсеру. Вы не можете использовать эту опцию с любым из FTP продюсеров.

Move Existing File Strategy

Стратегия, используемая для перемещения файла с использованием специального токена именования, когда настроено значение fileExist=Move. По умолчанию используется стандартная реализация, если не предоставлена пользовательская стратегия.

Consumer (advanced)

Входной коннектор.

consumer advanced

Название

Описание

Directory Must Exist

Этот параметр аналогичен startingDirectoryMustExist, но применяется при опросе после запуска потребителя.

Exception Handler

Параметр позволяет потребителю использовать пользовательский обработчик исключений (ExceptionHandler). Если опция bridgeErrorHandler включена, то этот параметр не применяется. По умолчанию потребитель будет иметь дело с исключениями, которые будут регистрироваться на уровне WARN или ERROR и игнорироваться.

Exchange Pattern

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

Возможные варианты:
InOnly: Сообщение отправляется без ожидания ответа.
InOut: Сообщение отправляется с ожиданием ответа.
InOptionalOut: Сообщение может быть отправлено с ожиданием ответа, но ответ не является обязательным.

Extended Attributes

Этот параметр определяет, какие атрибуты файла представляют интерес при обработке. Например: posix:permissions,posix:owner,basic:lastAccessTime, it supports basic wildcard like posix:, basic:lastAccessTime.

In Progress Repository

Этот параметр позволяет использовать подключаемый репозиторий типа org.apache.camel.spi.IdempotentRepository, который Camel применяет для отслеживания обрабатываемых файлов. По умолчанию Camel использует репозиторий, размещаемый в оперативной памяти.

Local Work Directory

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

On Completion Exception Handler

Этот параметр позволяет использовать собственный обработчик исключений (org.apache.camel.spi.ExceptionHandler) для обработки исключений, которые могут возникнуть на этапе завершения обработки файла, когда потребитель выполняет операцию коммита или отката (commit или rollback). По умолчанию, если возникает исключение, Camel регистрирует его с уровнем WARN и игнорирует дальнейшую обработку. Настройка кастомного ExceptionHandler может быть полезной для более гибкого управления ошибками, например, для выполнения определенных действий при сбое, отправки уведомлений или восстановления работы после ошибки.

Poll Strategy

Параметр PollingConsumerPollingStrategy в Apache Camel позволяет реализовать свою собственную стратегию обработки ошибок, возникающих во время операции опроса, прежде чем Exchange будет создан и обработан. С помощью этой стратегии вы можете управлять логикой обработки ошибок, выполнять валидацию или журналирование, прежде чем сообщение будет передано дальше по маршруту, что обеспечивает гибкую настройку поведения системы в случае возникновения проблем на этапе опроса данных.

Probe Content Type

Параметр для определения необходимости включения пробирования типа содержимого позволяет потребителю использовать метод Files#probeContentType(java.nio.file.Path) для определения типа содержимого файла. Если параметр включен, то тип содержимого будет сохранен в заголовке с ключом Exchange#FILE_CONTENT_TYPE в сообщении. Это позволяет обеспечить корректную обработку файлов в зависимости от их типа.

Process Strategy

Подключаемая стратегия GenericFileProcessStrategy в Apache Camel позволяет реализовать собственную опцию readLock или аналогичную. Она также может использоваться в случаях, когда перед обработкой файла необходимо выполнить специальные условия, например, наличие специального готового файла. При установке этой опции стандартная опция readLock не применяется.

Starting Directory Must Exist

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

Starting Directory Must Have Access

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

Filter

Входной коннектор.

filter

Название

Описание

Ant Exclude

Исключение с использованием фильтра в стиле Ant. Если используются оба параметра antInclude и antExclude, приоритет отдается antExclude. Несколько исключений могут быть указаны в формате, разделённом запятыми.

Ant Filter Case Sensitive

Параметр, устанавливающий флаг чувствительности к регистру в фильтре Ant.

Ant Include

Включение с использованием фильтра в стиле Ant. Несколько включений могут быть указаны в формате, разделённом запятыми.

Eager Max Messages Per Poll

Параметр, позволяющий контролировать, является ли лимит, заданный в maxMessagesPerPoll, "жестким" (eager) или нет. Если установлен флаг "жесткий", то лимит применяется во время сканирования файлов. В противном случае (если значение false) будут просканированы все файлы, после чего выполнится сортировка. Установка этого параметра в значение false позволяет сначала отсортировать все файлы, а затем ограничить количество опросов. Имейте в виду, что это требует большего объема памяти, так как все детали файлов хранятся в памяти для выполнения сортировки.

Exclude

Параметр, используемый для исключения файлов, если имя файла соответствует регулярному выражению (с учётом нечувствительности к регистру). Обратите внимание, если вы используете такие символы, как знак плюс и другие, вам необходимо настроить это с помощью синтаксиса RAW(), если вы конфигурируете это как URI конечной точки. Более подробную информацию можно найти в разделе настройки URI конечных точек.

Filter

Подключаемый фильтр в виде класса org.apache.camel.component.file.GenericFileFilter. Будет пропускать файлы, если фильтр возвращает false в своем методе accept().

Filter Directory

Параметр, фильтрующий директорию на основе языка Simple. Например, чтобы отфильтровать по текущей дате, вы можете использовать простой шаблон даты, такой как ${date:now:yyyMMdd}.

Filter File

Параметр, фильтрующий файл на основе языка Simple. Например, чтобы отфильтровать файлы по размеру, вы можете использовать выражение ${file:size} 5000, чтобы отобрать файлы размером больше 5000 байт.

Idempotent

Опция использования паттерна Idempotent Consumer EIP для предотвращения повторной обработки уже обработанных файлов. По умолчанию используется кэш на основе памяти (LRUCache), который хранит 1000 записей. Если noop=true, то также будет включен idempotent, чтобы избежать многократного потребления одних и тех же файлов.

Idempotent Key

Параметр для использования пользовательского ключа идемпотентности. По умолчанию используется абсолютный путь к файлу. Вы можете использовать язык File, чтобы задать свой ключ. Например, чтобы использовать имя файла и его размер, можно задать: idempotentKey=${file:name}-${file:size}.

Idempotent Repository

Подключаемый репозиторий org.apache.camel.spi.IdempotentRepository в Apache Camel, который по умолчанию использует MemoryMessageIdRepository, если ни один другой репозиторий не указан и параметр idempotent установлен в значение true.

Include

Параметр используется для включения файлов, если имя файла соответствует шаблону регулярного выражения (соответствие чувствительно к регистру). Обратите внимание, что если вы используете такие символы, как знак плюс и другие, то вам нужно будет настроить это с помощью синтаксиса RAW(), если вы настраиваете это как URI конечной точки. Более подробную информацию можно найти в разделе «Настройка URI конечной точки».

Max Depth

Максимальная глубина обхода при рекурсивной обработке директории.

Max Messages Per Poll

Параметр для определения максимального количества сообщений, собираемых за один опрос. По умолчанию максимальное значение не установлено. Этот параметр можно использовать для установки лимита, например, в 1000, чтобы избежать ситуации, когда при запуске сервера загружается множество файлов. Установите значение 0 или отрицательное, чтобы отключить эту опцию.

Важно отметить: если этот параметр используется, компоненты File и FTP будут ограничивать количество сообщений до сортировки. Например, если у вас есть 100000 файлов и вы используете maxMessagesPerPoll=500, то будет выбрано только первые 500 файлов, после чего они будут отсортированы. Вы можете использовать опцию eagerMaxMessagesPerPoll и установить её значение в false, чтобы сначала просканировать все файлы, а затем выполнить сортировку.

Min Depth

Минимальная глубина, с которой начинается обработка при рекурсивном обходе директории. Установка minDepth=1 означает, что обработка начинается с базовой директории. Установка minDepth=2 означает, что обработка начинается с первого подкаталога.

Move

Выражение (например, язык Simple), используемое для динамической установки имени файла при его перемещении после обработки. Чтобы переместить файлы в подкаталог .done, просто укажите .done.

Lock

Входной коннектор.

lock

Название

Описание

Exclusive Read Lock Strategy

Подключаемый механизм блокировки чтения в виде реализации org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy.

Read Lock

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

none — Блокировка чтения не используется.

markerFile — Camel создает маркерный файл (fileName.camelLock) и удерживает блокировку на нем. Эта опция недоступна для компонента FTP.

changed — Использует длину файла/метку времени изменения для определения того, находится ли файл в процессе копирования. Это займет не менее 1 секунды для определения, поэтому эта опция не может обрабатывать файлы так быстро, как другие, но может быть более надежной, так как API ввода-вывода JDK не всегда может определить, используется ли файл другим процессом. Опция readLockCheckInterval может использоваться для установки частоты проверки.

fileLock — Использует java.nio.channels.FileLock. Эта опция недоступна для операционной системы Windows и компонента FTP. Этот подход следует избегать при доступе к удаленной файловой системе через точку монтирования/общую папку, если эта файловая система не поддерживает распределенные блокировки файлов.

rename — Пытается переименовать файл как тест, чтобы проверить, можем ли мы получить эксклюзивную блокировку чтения.

idempotent — (только для файлового компонента) Использует idempotentRepository в качестве блокировки чтения. Это позволяет использовать блокировки чтения, поддерживающие кластеризацию, если реализация репозитория идемпотентности это поддерживает.

idempotent-changed — (только для файлового компонента) Использует idempotentRepository и changed в качестве комбинированной блокировки чтения. Это позволяет использовать блокировки чтения, поддерживающие кластеризацию, если реализация репозитория идемпотентности это поддерживает.

idempotent-rename — (только для файлового компонента) Использует idempotentRepository и rename в качестве комбинированной блокировки чтения. Это позволяет использовать блокировки чтения, поддерживающие кластеризацию, если реализация репозитория идемпотентности это поддерживает.

Обратите внимание: различные блокировки чтения не всегда подходят для работы в кластерном режиме, где конкурентные потребители на разных узлах соревнуются за одни и те же файлы в общей файловой системе. markerFile, используя почти атомарную операцию для создания пустого маркерного файла, но это не гарантирует работу в кластере. fileLock может работать лучше, но файловая система должна поддерживать распределенные блокировки файлов и т.д. Использование идемпотентной блокировки чтения может поддерживать кластеризацию, если репозиторий идемпотентности поддерживает кластеризацию, например, компоненты Hazelcast или Infinispan.

Read Lock Check Interval

Интервал в миллисекундах для блокировки чтения, если это поддерживается выбранной стратегией блокировки. Этот интервал используется для паузы между попытками получения блокировки чтения. Например, при использовании блокировки чтения на основе изменений можно установить более длительный интервал, чтобы учесть медленные записи. Значение по умолчанию — 1 секунда, что может быть слишком быстро, если производитель очень медленно записывает файл. Обратите внимание: для FTP значение readLockCheckInterval по умолчанию составляет 5000 миллисекунд. Значение readLockTimeout должно быть выше readLockCheckInterval, но правило хорошего тона — устанавливать таймаут, который как минимум в 2 раза превышает readLockCheckInterval. Это необходимо, чтобы обеспечить достаточно времени для процесса блокировки чтения на попытку захвата блокировки до истечения таймаута.

Read Lock Delete Orphan Lock Files

Должна ли блокировка чтения с файлами-маркерами при запуске удалять все осиротевшие файлы блокировки чтения, которые могли остаться в файловой системе, если Camel был выключен неправильно (например, в результате сбоя JVM). Если установить этот параметр в false, то любой осиротевший файл блокировки приведет к тому, что Camel не будет пытаться забрать этот файл, это также может быть связано с тем, что другой узел параллельно читает файлы из того же общего каталога.

Read Lock Idempotent Release Async

Определяет, должен ли процесс задержанного освобождения задачи быть синхронным или асинхронным. Для получения дополнительной информации см. параметр readLockIdempotentReleaseDelay.

Read Lock Idempotent Release Async Pool Size

Количество потоков в планируемом пуле потоков при использовании асинхронных задач освобождения. Значение по умолчанию составляет 1, что должно быть достаточным для большинства случаев использования. Увеличивайте это значение только в том случае, если обновление идемпотентного репозитория происходит медленно или если нужно обработать много файлов. Эта опция не используется, если вы используете общий пул потоков, настраивая параметр readLockIdempotentReleaseExecutorService. Для получения дополнительной информации см. параметр readLockIdempotentReleaseDelay.

Read Lock Idempotent Release Delay

Определяет, следует ли задерживать задачу освобождения на определенный период в миллисекундах. Это можно использовать для задержки задач освобождения, чтобы расширить временной интервал, когда файл считается заблокированным для чтения в сценарии активного/активного кластера с общим идемпотентным репозиторием, чтобы гарантировать, что другие узлы не смогут потенциально сканировать и захватывать один и тот же файл из-за условий гонки. Расширение временного окна задач освобождения помогает предотвратить такие ситуации. Обратите внимание, что задержка необходима только если вы настроили readLockRemoveOnCommit на true.

Read Lock Idempotent Release Executor Service

Для использования пользовательского и общего пула потоков для асинхронных задач освобождения. Дополнительные сведения можно найти в параметре readLockIdempotentReleaseDelay.

Read Lock Logging Level

Уровень журналирования, используемый, когда не удалось получить блокировку на чтение. По умолчанию журналируется уровень DEBUG. Вы можете изменить этот уровень, например, на OFF, чтобы отключить журналирование. Эта опция применяется только к типам блокировок на чтение: changed, fileLock, idempotent, idempotent-changed, idempotent-rename и rename.

Read Lock Marker File

Использование файла-маркера при изменении, переименовании или эксклюзивной блокировке чтения. По умолчанию файл-маркер применяется для предотвращения доступа других процессов к тем же файлам. Это поведение можно отключить, установив этот параметр в значение false, если вы не хотите, чтобы приложение Camel записывало файлы-маркеры в файловую систему.

Read Lock Min Age

Минимальный возраст файла для блокировки чтения. Этот параметр применяется только для опции readLock=changed. Он позволяет указать минимальный возраст файла, который должен быть достигнут перед попыткой получить блокировку чтения. Например, использование readLockMinAge=300s требует, чтобы файл был как минимум 5 минут старым. Это может ускорить процесс получения блокировки чтения, поскольку будет выполняться попытка захвата только для файлов, соответствующих указанному возрасту.

Read Lock Min Length

Минимальная длина файла для блокировки чтения. Этот параметр применяется только для опции readLock=changed. Он позволяет настроить минимальную длину файла. По умолчанию Camel ожидает, что файл содержит данные, поэтому значение по умолчанию составляет 1. Вы можете установить этот параметр в ноль, чтобы разрешить обработку файлов с нулевой длиной.

Read Lock Remove On Commit

Удаление имени файла из репозитория идемпотентности. Этот параметр применяется только для readLock=idempotent. Он позволяет указать, следует ли удалять запись имени файла из репозитория идемпотентности, когда обработка файла успешна и происходит коммит. По умолчанию файл не удаляется, что гарантирует отсутствие гонок, когда другой активный узел может попытаться захватить файл. Вместо этого репозиторий идемпотентности может поддерживать стратегии выселения, которые вы можете настроить для удаления записи имени файла через X минут — это гарантирует отсутствие проблем с гонками. Дополнительные сведения можно найти в опции readLockIdempotentReleaseDelay.

Read Lock Remove On Rollback

Удаление имени файла из репозитория идемпотентности при неудаче. Этот параметр применяется только для readLock=idempotent. Он позволяет указать, следует ли удалять запись имени файла из репозитория идемпотентности, когда обработка файла завершается неудачей и происходит откат. Если этот параметр установлен в значение false, запись имени файла сохраняется (как будто файл был подтверждён).

Read Lock Timeout

Таймаут для блокировки чтения. Этот параметр является необязательным и задаёт таймаут в миллисекундах для блокировки чтения, если это поддерживается. Если блокировка чтения не может быть предоставлена, и срабатывает таймаут, то Camel пропустит файл. При следующем опросе Camel попробует обработать файл снова, и, возможно, в этот раз блокировка чтения будет предоставлена. Используйте значение 0 или меньше, чтобы указать на бесконечный таймаут. В настоящее время поддерживают таймаут: fileLock, changed и rename. Обратите внимание: для FTP значение по умолчанию для readLockTimeout составляет 20000, а не 10000. Значение readLockTimeout должно быть больше, чем readLockCheckInterval, однако общее правило состоит в том, чтобы иметь таймаут, который как минимум в 2 раза больше readLockCheckInterval. Это необходимо, чтобы обеспечить достаточно времени для процесса блокировки чтения, чтобы попытаться получить блокировку перед истечением таймаута.

Scheduler

Входной коннектор.

scheduler

Название

Описание

Backoff Error Threshold

Количество последующих опросов ошибок. Это число определяет, сколько последующих опросов (ошибок, произошедших из-за какой-либо ошибки) должно произойти, прежде чем активируется backoffMultiplier.

Backoff Idle Threshold

Количество последующих бездействующих опросов. Этот параметр определяет, сколько последующих опросов, не приводящих к обработке новых сообщений (т.е. бездействующих), должно произойти, прежде чем активируется backoffMultiplier.

Backoff Multiplier

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

Delay

Параметр определяет интервал ожидания в миллисекундах перед выполнением следующего опроса.

Greedy

Если включен режим жадного опроса (greedy), то ScheduledPollConsumer будет немедленно запускаться снова, если предыдущий запуск опросил 1 или более сообщений.

Initial Delay

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

Repeat Count

Параметр определяет верхний предел числа срабатываний планировщика. Например, если установить значение 1, планировщик сработает только один раз; если установить значение 5, он сработает пять раз. Значение 0 или отрицательное означает, что планировщик будет срабатывать бесконечно.

Run Logging Level

Параметр позволяет настроить уровень логирования для сообщений, которые записываются при запуске и при завершении опроса потребителем. Это может помочь в управлении количеством логируемой информации и в настройке её важности, например, на уровне DEBUG, INFO или ERROR.

Scheduled Executor Service

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

Scheduler

Параметр позволяет использовать cron-расписание с компонентами camel-spring или camel-quartz.

Scheduler Properties

Параметр позволяет настраивать дополнительные свойства при использовании пользовательского расписания или любого из расписаний, основанных на Quartz или Spring.

Start Scheduler

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

Time Unit

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

Use Fixed Delay

Параметр управляет тем, будет ли использоваться фиксированная задержка (fixed delay) для планировщика.

Sort

Входной коннектор.

sort

Название

Описание

Shuffle

Параметр позволяет перемешивать список файлов, сортируя их в случайном порядке.

Sort By

Параметр "Built-in sort" позволяет настроить встроенную сортировку файлов с использованием File Language в Apache Camel, поддерживая как основную, так и вложенную сортировку по различным критериям, например, по имени файла и дате изменения.

Sorter

Параметр "Pluggable sorter" позволяет использовать пользовательский сортировщик, реализованный в виде класса java.util.Comparator, для определения собственного порядка сортировки файлов в Apache Camel.