Apache Camel извлекает данные из ftp постепенно и периодически - PullRequest
3 голосов
/ 16 апреля 2011

Я очень новичок в Apache Camel, и я изучаю, как создать маршрут, который извлекает данные из ftp, например, каждые 15 минут и извлекает только новые или обновленные файлы, поэтому, если некоторые файлы были загружены раньше и остаются прежними (без изменений ) ftp загрузчик не должен загружать их в папку назначения.

Любые советы приветствуются.

ОБНОВЛЕНИЕ # 1

Я уже заметил, что мне нужно посмотреть на FTP2, и на самом деле я уже достиг прогресса, последнее, что я хочу уточнить: consumer.dealy определяет задержку между каждой попыткой загрузки, например, потребителем. delay = 5s и с первой попытки ftp содержит 5 файлов, потребитель тянет данные куда-то и ждет 5s, со второй попытки ftp все тот же, и верблюд просто ничего не делает, после этого на ftp поступают дополнительные 5 файлов и через 5 секунд загрузки потребителя ftp это только что прибывшие новые файлы, или customer.delay просто заставляет потребителя ждать между каждой загрузкой файла (файл № 1 -> 5 с -> файл № 2 -> 5 с -> и т. д.)

Я хочу достичь первого сценария.

Кроме того, я заметил, что как только некоторые файлы были загружены в целевую папку, я имею в виду от ftp до локальной файловой системы, эти файлы будут игнорироваться при последующих загрузках данных, даже если эти файлы были удалены в локальной файловой системе, как Я могу сказать верблюду скачать снова удаленные файлы, как он хранит информацию о уже загруженных файлах? И кажется, что он загружает все файлы каждый раз, даже если файлы были загружены при первом извлечении данных. Нужно ли писать фильтр для исключения уже загруженных файлов?

1 Ответ

2 голосов
/ 16 апреля 2011

FTP-компонент для верблюда apache http://camel.apache.org/ftp.html

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

подробности реализации смотрите здесь http://architects.dzone.com/articles/apache-camel-integration

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