Используйте комбинацию параметров «readLock = updated», «readLockCheckInterval = 1000» и readLockMinAge = 20 с (1000 в миллисекундах, и значение по умолчанию следует изменить на более высокое значение, если запись выполняется медленнее, т.е. размер файла изменяется последолгое время это может происходить в определенных файловых системах, когда размер файла изменяется не очень часто во время передачи)
Документация по компонентам файла @ http://camel.apache.org/file2.html говорит
для чтения = изменено
изменено - используется длина файла / метка времени изменения, чтобы определить, копируется ли файл в данный момент или нет.По крайней мере, использовать 1 сек.чтобы определить это, этот параметр не может использовать файлы так же быстро, как другие, но может быть более надежным, поскольку API ввода-вывода JDK не всегда может определить, используется ли файл в настоящее время другим процессом.Опция readLockCheckInterval может использоваться для установки частоты проверки.
для readLockCheckInterval = 1000
Camel 2.6: интервал в миллисекундах для блокировки чтения, если поддерживается блокировкой чтения.Этот интервал используется для сна между попытками получить блокировку чтения.Например, при использовании измененной блокировки чтения вы можете установить интервал с более высоким интервалом для медленной записи.По умолчанию 1 сек.может быть слишком быстрым, если продюсер очень медленно записывает файл.
для readLockMinAge = 20 с
Верблюд 2.15: эта опция применяется только к readLock = change.Этот параметр позволяет указать минимальный возраст файла, который должен быть до попытки установить блокировку чтения.Например, используйте readLockMinAge = 300s, чтобы указать, что файлу не менее 5 минут.Это может ускорить опрос, когда файл станет достаточно старым, поскольку он немедленно установит блокировку чтения.
Таким образом, в конечном итоге ваша конечная точка должна выглядеть примерно так:
from ("file: //" + env.getProperty ("интеграции.directory.scan.add.eng.jobslist).") +"? consumer.initialDelay = 100000 & = изменено блокировкой чтения и readLockCheckInterval = 1000 & readLockMinAge = 20s ")