使用 Apache 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 天内修改的文件仅保留在输入目录中,并删除其余文件。我们如何使用骆驼来做到这一点?

使用文件组件的参数filterFile选项而不是过滤器 弹性公网IP地址

要查找超过 10 天的文件,请尝试filterFile=${date:file:yyyyMMddHHmm} <= ${date:now-240h:yyyyMMddHHmm}

  • ${date:file:yyyyMMddHHmm}- 文件上次修改时间(最多分钟级别(
  • ${date:now-240h:yyyyMMddHHmm}- 当前时间减去 10 天(最多分钟级别(

参考:骆驼文件组件骆驼文件语言

最新更新