【问题标题】:Move files from the import directory into archive using Apache Camel使用 Apache Camel 将文件从导入目录移动到存档中
【发布时间】:2017-04-02 19:51:07
【问题描述】:
我需要将所有文件从 Camel 监控的导入目录移动到另一个目录。为此,我在路线中使用了 Camel 的 move 和 moveFailed 选项。
我在属性文件中有一个 MaxFilesAllowedInArchive 参数,如果超出文件限制,则必须删除最旧的文件。
如何进行自定义移动和 moveFailed 以控制移动的文件数量并将最新文件保留在存档中?
【问题讨论】:
标签:
apache-camel
limit
move
archive
【解决方案1】:
Camel 没有根据文件系统元数据(例如计数和日期)进行操作的组件,但您可以使用使用新 Java 路径和文件 API 的客户处理器轻松实现这一点。
创建一个调用客户处理器的计时器/石英路由。在此客户处理器中,列出“move”和“moveFailed”目录中的文件以计算内容(并按日期排序)。如果超过 MaxFilesAllowsInArchive,则从文件夹中删除 X 个文件。