Удаление файлов с помощью Apache Camel - PullRequest
0 голосов
/ 27 мая 2020

Я только что опробовал маршрут Camel для перемещения таких файлов, которые были изменены за последние 10 дней, из входного каталога в выходной каталог, а после переноса все файлы из входного каталога удаляются, поскольку я установил параметр delete = true.

Date tenDaysBack = new Date(System.currentTimeMillis() - 10*8640000);
from("file:data/input?noop=true")
    .filter(header("CamelFileLastModified").isGreaterThan(tenDaysBack))
    .to("file:data/output");

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

1 Ответ

0 голосов
/ 28 мая 2020

Используйте параметр filterFile компонента File вместо фильтра EIP

Чтобы найти файл старше 10 дней, попробуйте filterFile=${date:file:yyyyMMddHHmm} <= ${date:now-240h:yyyyMMddHHmm}

  • ${date:file:yyyyMMddHHmm} - время последнего изменения файла (до минутного уровня)
  • ${date:now-240h:yyyyMMddHHmm} - время текущих минус 10 дней (до минутного уровня)

Ссылка: Компонент файла Camel Язык файла Camel

...