Параметры коннекторов
SFTP (IN/OUT)
General
Название | Описание |
---|---|
Factory |
Идентификатор используемой фабрики с предустановленным значением (SFTP :: IN / SFTP :: OUT). |
Display name |
Отображаемое имя коннектора. |
Description |
Поле для краткого описания. |
Classifier |
Уникальный идентификатор коннектора. |
Run Exclusive |
Чек-бокс, активирующий запуск только на одном узле кластера. |
Pre-Route |
Входной коннектор. Настройка обработки сообщений перед их дальнейшей маршрутизацией во входной поток профиля. |
Pre-Output |
Выходной коннектор. Настройка обработки сообщений перед их дальнейшей маршрутизацией в принимающую систему. |
Generate logging key |
Чек-бокс, активирующий создание ключа логирования, который будет использоваться для отслеживания обработки запроса. Ключ может включать такие параметры, как: ${exchangeProperty.requestId}, ${exchangeProperty.service}, ${exchangeProperty.operation}, ${exchangeProperty.objectId}, ${exchangeProperty.parameter}, ${exchangeProperty.sender}, ${exchangeProperty.receiver}. |
Connection |
Выбор используемой коннекции. |
Subdirectory |
Указывает поддиректорию для конечной точки коннектора, позволяя настраивать структуру каталогов. Например, можно задать имя директории в поле коннектора, указав "documents", а в поле поддиректории — "2023september". В результате конечная точка будет настроена для доступа к директории /documents/2023september. Также можно добавить символ слэша (/) в одном из полей, чтобы создать подкаталог, получив структуру вроде /documents/2023september. |
Redelivery policy
Настройка обработки ошибок и повторной доставки сообщений. Подробнее ознакомиться можно здесь.
Routes
-
AGGREGATOR
Маршрут для агрегирования нескольких сообщений на основе заданных критериев. -
QUARTZ
Маршрут используется для планирования задач с помощью Quartz Scheduler. Он позволяет запускать маршруты на основе расписания, которое можно настроить с помощью Cron выражений или простых интервалов времени. -
ROUTE-CALLABLE
Маршрут для выполнения настраиваемых логик и операций, позволяющий вызывать различные функции и взаимодействовать с внешними системами. -
TIMER
Маршрут предназначен для создания периодических событий. Он позволяет запускать маршруты через заданные интервалы времени, такие как каждая секунда, минута или час, без необходимости использования внешних планировщиков или триггеров.
Response
Название | Описание |
---|---|
Process response |
Входной коннектор. Чек-бокс активирующий обработку ответа перед его дальнейшей маршрутизацией в отправляющую систему. |
Response route |
Входной коннектор. Настройка обработки ответа перед его дальнейшей маршрутизацией в систему отправки. |
Postprocess response |
Выходной коннектор. Чек-бокс активирующий постобработку ответов перед их дальнейшей маршрутизацией в выходной поток профиля. |
Postprocess route |
Выходной коннектор. Настройка постобработки ответа перед его дальнейшей маршрутизацией в выходной поток профиля. |
Producer
Выходной коннектор.
Название |
Описание |
Lazy Start Producer |
Определяет, следует ли откладывать инициализацию продюсера до момента получения первого сообщения. Ленивый запуск позволяет CamelContext и маршрутам запускаться даже в тех случаях, когда немедленная инициализация продюсера может привести к сбою и прервать запуск маршрута. При ленивой инициализации возможные ошибки можно обработать с помощью маршрутизируемых обработчиков ошибок Camel при первом обращении к продюсеру. Следует учитывать, что инициализация и запуск продюсера при первом сообщении могут занять больше времени, что увеличит общее время обработки. |
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 при загрузке больших файлов. |
Entaxy
Входной коннектор.
Название | Описание |
---|---|
Default target system |
Входной коннектор. Название профиля принимающей системы (System name). |
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 |
Если потребитель при опросе не нашел ни одного файла, вы можете включить этот чек-бокс, чтобы отправить пустое сообщение (без тела). |
Stream Download |
Параметр устанавливает метод загрузки файлов, когда не используется локальная рабочая директория. Если чек-бокс активирован (значение установлено в true), удаленные файлы будут потоково считываться в маршрут по мере их чтения. Если чек-бокс не активирован (значение установлено в false), удаленные файлы загружаются в память перед отправкой в маршрут. При включении этой опции необходимо установить параметр stepwise=false, так как оба параметра не могут быть активированы одновременно. |
Advanced
Название |
Описание |
Basic Property Binding |
Параметр определяет, использовать базовое связывание свойств (Camel 2.x) или новое связывание свойств с дополнительными возможностями. |
Auto Create |
Параметр позволяет автоматически создавать отсутствующие директории в пути к файлу. Для потребителя файлов это означает создание начальной директории, а для производителя — создание директории, в которую должны быть записаны файлы. |
Connect Timeout |
Устанавливает таймаут подключения, определяющий время ожидания установления соединения. Этот параметр используется как FTPClient, так и JSCH. |
Maximum Reconnect Attempts |
Указывает максимальное количество попыток переподключения, которые Camel выполняет при попытке соединения с удалённым FTP-сервером. Установите значение 0, чтобы отключить эту функцию. |
Reconnect Delay |
Задержка в миллисекундах, которую Camel будет ожидать перед попыткой переподключения. |
So Timeout |
Устанавливает тайм-аут сокета (SO_TIMEOUT) для FTP и FTPS, начиная с Camel 2.4, и для SFTP, начиная с Camel 2.14.3/2.15.3/2.16. Рекомендуемое значение составляет 300000 миллисекунд, чтобы избежать зависания соединения. Для SFTP этот тайм-аут устанавливается в экземпляре сессии JSCH. |
Stepwise |
Определяет, следует ли последовательно изменять директории при обходе файловых структур при загрузке файла или файлов в директорию. Это можно отключить, если, например, вы находитесь в ситуации, когда не можете изменить директорию на FTP-сервере по соображениям безопасности. Опция stepwise не может использоваться вместе с streamDownload. |
Synchronous |
Определяет, должна ли строго использоваться синхронная обработка, или Camel может использовать асинхронную обработку (если поддерживается). |
Throw Exception On Connect Failed |
Определяет, должно ли быть сгенерировано исключение в случае неудачного подключения (израсходованные попытки). По умолчанию исключение не выбрасывается, и записывается предупреждение (WARN). Вы можете использовать эту настройку для включения выброса исключения и обработки его в методе отката rollback интерфейса org.apache.camel.spi.PollingConsumerPollStrategy. |
Timeout |
Устанавливает таймаут ожидания ответа для передачи данных. Используется только клиентом FTP. |
Bind Address |
|
Bulk Requests |
|
Compression |
|
Exist Dir Check Using Ls |
|
Proxy |
|
Server Alive Count Max |
|
Server Alive Interval |
Common
Название |
Описание |
Binary |
Определяет режим передачи файла: BINARY или ASCII. По умолчанию используется режим ASCII (значение false). |
Charset |
Этот параметр задает кодировку файла, позволяя указать, в какой кодировке Camel должен загружать содержимое файла при его чтении и в какой кодировке записывать файл при его записи. При этом следует учитывать, что для записи файла Camel может загружать содержимое сообщения в память для конвертации в указанную кодировку, поэтому использование этой опции не рекомендуется для больших сообщений. |
Disconnect |
Определяет, отключаться ли от удаленного FTP-сервера сразу после использования. Параметр disconnect завершает только текущее соединение с FTP-сервером. Для остановки потребителя или маршрута необходимо остановить сам потребитель или маршрут. |
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. |
Passive Mode |
Настраивает режим пассивного соединения для FTP-подключений. По умолчанию используется активный режим соединений. |
Separator |
Задает разделитель пути для использования в файловых операциях. Возможные значения: UNIX: использует разделитель пути в стиле UNIX ("/"), Windows: использует разделитель пути в стиле Windows ("\"), Auto (по умолчанию): автоматически определяет и использует разделитель, исходя из указанного в имени файла. |
Jsch Logging Level |
Common (advanced)
Fast Exists Check | При включении этой опции (true), camel-ftp будет напрямую проверять существование файла через команду списка файлов. Так как некоторые FTP-серверы могут не поддерживать прямой вызов списка файлов, при значении false camel-ftp использует альтернативный способ — проверку через список директории, чтобы убедиться в наличии файла. Этот параметр также влияет на readLock=changed, управляя тем, будет ли использоваться быстрая проверка для обновления информации о файле. Эта настройка полезна для ускорения процессов, если на FTP-сервере содержится большое количество файлов. |
---|
Producer (advanced)
Выходной коннектор.
Название |
Описание |
Allow Null Body |
Используется для указания того, разрешено ли при записи файла использовать нулевое тело. Если чек-бокс активирован, то будет создан пустой файл; если чек-бокс не активирован и попытаться отправить нулевое тело в файловый компонент, будет сгенерировано исключение GenericFileWriteException с сообщением 'Cannot write null body to file.'. Если для параметра fileExist установлено значение 'Override', то файл будет усечен, а если установлено значение 'Append', то файл останется неизменным. |
Chmod |
Используется для указания прав доступа к файлу, отправляемые продюсером, значение chmod должно быть между 000 и 777; Если есть ведущий цифровой символ, например 0755, он будет проигнорирован. |
Disconnect On Batch Complete |
Определяет, следует ли отключаться от удаленного FTP-сервера сразу после завершения пакетной загрузки. Параметр disconnectOnBatchComplete отключает только текущее соединение с FTP-сервером. |
Eager Delete Target File |
Определяет, следует ли предварительно удалять существующий целевой файл. Эта опция применяется только в случае использования параметров fileExists=Override и tempFileName. Вы можете отключить (установить в false) удаление целевого файла до записи временного файла. Например, если вы записываете большие файлы и хотите, чтобы целевой файл существовал во время записи временного файла. Это гарантирует, что целевой файл будет удален только в последний момент, непосредственно перед переименованием временного файла в целевое имя. Эта опция также используется для управления тем, следует ли удалять существующие файлы, когда включен fileExist=Move и существует уже существующий файл. Если параметр copyAndDeleteOnRenameFails установлен в false, то будет сгенерировано исключение, если существующий файл был обнаружен; если true, то существующий файл будет удален перед операцией перемещения. |
Keep Last Modified |
Сохранит временную метку последнего изменения исходного файла (если таковая имеется). Для поиска временной метки будет использоваться заголовок Exchange.FILE_LAST_MODIFIED. Этот заголовок может содержать либо java.util.Date, либо long с временной меткой. Если временная метка существует и опция включена, она будет установлена на записанном файле. Примечание: Эта опция применяется только к файловому продюсеру. Вы не можете использовать эту опцию с любым из FTP продюсеров. |
Move Existing File Strategy |
Стратегия, используемая для перемещения файла с использованием специального токена именования, когда настроено значение fileExist=Move. По умолчанию используется стандартная реализация, если не предоставлена пользовательская стратегия. |
Send Noop |
Определяет, следует ли отправлять команду noop в качестве предварительной проверки перед загрузкой файлов на FTP-сервер. По умолчанию эта опция включена для проверки, что соединение все еще активно, что позволяет без проблем переподключиться и загрузить файл. Однако, если это вызывает проблемы, вы можете отключить эту опцию. |
Consumer (advanced)
Входной коннектор.
Название |
Описание |
Download |
Определяет, должен ли FTP-потребитель загружать файл. Если эта опция установлена в false, тело сообщения останется пустым, однако потребитель всё равно запустит обмен Camel Exchange с информацией о файле, включая имя, размер и другие детали. Файл при этом загружен не будет. |
Exception Handler |
Параметр позволяет потребителю использовать пользовательский обработчик исключений (ExceptionHandler). Если опция bridgeErrorHandler включена, то этот параметр не применяется. По умолчанию потребитель будет иметь дело с исключениями, которые будут регистрироваться на уровне WARN или ERROR и игнорироваться. |
Exchange Pattern |
Устанавливает шаблон обмена, который используется при создании обмена потребителем. Возможные варианты: |
Ignore File Not Found Or Permission Error |
Определяет, следует ли игнорировать ошибки, возникающие при невозможности доступа к файлу или директории из-за их отсутствия или недостаточных прав. По умолчанию, если файл или директория не найдены или доступ ограничен, генерируется исключение. При активации этой опции ошибки отсутствия файла или прав доступа будут игнорироваться. |
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 будет создан и обработан. С помощью этой стратегии вы можете управлять логикой обработки ошибок, выполнять валидацию или журналирование, прежде чем сообщение будет передано дальше по маршруту, что обеспечивает гибкую настройку поведения системы в случае возникновения проблем на этапе опроса данных. |
Process Strategy |
Подключаемая стратегия GenericFileProcessStrategy в Apache Camel позволяет реализовать собственную опцию readLock или аналогичную. Она также может использоваться в случаях, когда перед обработкой файла необходимо выполнить специальные условия, например, наличие специального готового файла. При установке этой опции стандартная опция readLock не применяется. |
Use List |
Определяет, разрешено ли использовать команду LIST при загрузке файла. По умолчанию эта опция установлена в true. В некоторых случаях может потребоваться загрузить конкретный файл, при этом использование команды LIST может быть запрещено; в этом случае можно установить эту опцию в false. Обратите внимание, что при использовании этой опции информация о загружаемом файле, такая как размер, временная метка и права доступа, не будет доступна, так как эти данные можно получить только при использовании команды LIST. |
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
Входной коннектор.
Название |
Описание |
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 Logging Level |
Уровень журналирования, используемый, когда не удалось получить блокировку на чтение. По умолчанию журналируется уровень DEBUG. Вы можете изменить этот уровень, например, на OFF, чтобы отключить журналирование. Эта опция применяется только к типам блокировок на чтение: changed, fileLock, idempotent, idempotent-changed, idempotent-rename и rename. |
Read Lock Marker File |
Использование файла-маркера при изменении, переименовании или эксклюзивной блокировке чтения. По умолчанию файл-маркер применяется для предотвращения доступа других процессов к тем же файлам. Это поведение можно отключить, установив этот параметр в значение false, если вы не хотите, чтобы приложение Camel записывало файлы-маркеры в файловую систему. |
Read Lock Min Age |
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. Это необходимо, чтобы обеспечить достаточно времени для процесса блокировки чтения, чтобы попытаться получить блокировку перед истечением таймаута. |
Read Lock Idempotent Release Async |
|
Read Lock Idempotent Release Async Pool Size |
|
Read Lock Idempotent Release Delay |
|
Read Lock Idempotent Release Executor Service |
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
Входной коннектор.
Название |
Описание |
Shuffle |
Параметр позволяет перемешивать список файлов, сортируя их в случайном порядке. |
Sort By |
Параметр "Built-in sort" позволяет настроить встроенную сортировку файлов с использованием File Language в Apache Camel, поддерживая как основную, так и вложенную сортировку по различным критериям, например, по имени файла и дате изменения. |
Sorter |
Параметр "Pluggable sorter" позволяет использовать пользовательский сортировщик, реализованный в виде класса java.util.Comparator, для определения собственного порядка сортировки файлов в Apache Camel. |