Параметры коннекторов
FILE (IN/OUT)
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
Настройка обработки ошибок и повторной доставки сообщений. Подробнее ознакомиться можно здесь.
Routes
-
AGGREGATOR
Маршрут для агрегирования нескольких сообщений на основе заданных критериев. -
QUARTZ
Маршрут используется для планирования задач с помощью Quartz Scheduler. Он позволяет запускать маршруты на основе расписания, которое можно настроить с помощью Cron выражений или простых интервалов времени. -
ROUTE-CALLABLE
Маршрут для выполнения настраиваемых логик и операций, позволяющий вызывать различные функции и взаимодействовать с внешними системами. -
TIMER
Маршрут предназначен для создания периодических событий. Он позволяет запускать маршруты через заданные интервалы времени, такие как каждая секунда, минута или час, без необходимости использования внешних планировщиков или триггеров.
Response
Название | Описание |
---|---|
Process response |
Входной коннектор. Чек-бокс активирующий обработку ответа перед его дальнейшей маршрутизацией в отправляющую систему. |
Response route |
Входной коннектор. Настройка обработки ответа перед его дальнейшей маршрутизацией в систему отправки. |
Postprocess response |
Выходной коннектор. Чек-бокс активирующий постобработку ответов перед их дальнейшей маршрутизацией в выходной поток профиля. |
Postprocess route |
Выходной коннектор. Настройка постобработки ответа перед его дальнейшей маршрутизацией в выходной поток профиля. |
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 |
Если потребитель при опросе не нашел ни одного файла, вы можете включить этот чек-бокс, чтобы отправить пустое сообщение (без тела). |
Producer
Выходной коннектор.
Название |
Описание |
Lazy Start Producer |
Определяет, следует ли откладывать инициализацию продюсера до момента получения первого сообщения. Ленивый запуск позволяет CamelContext и маршрутам запускаться даже в тех случаях, когда немедленная инициализация продюсера может привести к сбою и прервать запуск маршрута. При ленивой инициализации возможные ошибки можно обработать с помощью маршрутизируемых обработчиков ошибок Camel при первом обращении к продюсеру. Следует учитывать, что инициализация и запуск продюсера при первом сообщении могут занять больше времени, что увеличит общее время обработки. |
Append Chars |
Используется для добавления символов (текста) после записи файлов. Это может использоваться, например, для добавления новых строк или других разделителей при записи и добавлении к существующим файлам. Чтобы указать символы новой строки (например, \n или \r) или символ табуляции (\t), необходимо экранировать их дополнительным слэшем, например, \\n. |
File Exist |
Выбор поведения если файл с таким же именем уже существует. Добавить (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
Название |
Описание |
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
Название |
Описание |
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)
Выходной коннектор.
Название |
Описание |
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)
Входной коннектор.
Название |
Описание |
Directory Must Exist |
Этот параметр аналогичен startingDirectoryMustExist, но применяется при опросе после запуска потребителя. |
Exception Handler |
Параметр позволяет потребителю использовать пользовательский обработчик исключений (ExceptionHandler). Если опция bridgeErrorHandler включена, то этот параметр не применяется. По умолчанию потребитель будет иметь дело с исключениями, которые будут регистрироваться на уровне WARN или ERROR и игнорироваться. |
Exchange Pattern |
Устанавливает шаблон обмена, который используется при создании обмена потребителем. Возможные варианты: |
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
Входной коннектор.
Название |
Описание |
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 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
Входной коннектор.
Название |
Описание |
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. |