You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apache Camel file组件是否支持从多个不同目录读取文件?

Apache Camel多目录读取文件方案说明

Apache Camel 官方的file组件不支持单个URI中配置多个完全独立的目录路径,你示例中把多个路径用逗号拼接在同一个<from>的uri属性中的写法无法生效。

推荐实现方式

针对你需要保留独立目录结构、不迁移文件的场景,有两种常用的落地方式:

1. 多endpoint入口配置(最简便)

为每个独立目录单独声明一个file类型的from节点,所有入口共用后续的处理逻辑即可,XML配置示例如下:

<!-- 三个独立目录的读取入口,可配置相同的文件处理参数 -->
<from uri="file:///home/level1/level2/input?delay=1000&delete=true"/>
<from uri="file:///dir1/test/folder1?delay=1000&delete=true"/>
<from uri="file:///dir1/test/folder2?delay=1000&delete=true"/>
<!-- 后续统一的处理逻辑 -->
<to uri="xxx你的目标处理节点"/>

如果所有目录的读取参数完全一致,可通过Camel属性占位符复用配置,减少重复代码。

2. 动态轮询方案(适合目录动态变化场景)

如果你的待读取目录列表会动态调整,不想硬编码多个from节点,可以搭配pollEnrich组件实现:

  • 先维护所有待读取的目录列表
  • 定时触发遍历目录列表,通过pollEnrich动态拉取对应目录下的文件
    这种方式灵活性更高,但实现复杂度比第一种方案高,适合目录数量多、变动频繁的场景。

补充:如果所有待读取目录都属于同一个父目录,可直接配置recursive=true搭配antInclude参数过滤目标子目录,但你当前的目录属于不同根路径,该方案不适用。

内容的提问来源于stack exchange,提问作者Tim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 00:18:01