Apache Camel 文件组件使用不同的目录
Apache Camel file component to use different directories
Apache camel 文件组件中是否有一个选项可以使用多个不同的目录来读取文件。
\
- home
- level1
- level2
- input (files are within this folder)
- dir1
- test
- folder1 ( set of files in this folder)
- folder2 ( set of files in this folder)
当文件夹位于同一目录下时,另一个选项是使用 dynamic routing。
但我的用例无法将文件移动到公共目录,我需要输入目录结构相同并且是两个不同的目录。
有没有像下面这样的选项?
<from uri="file://home/leve1/level2/input,//dir1/test/folder1,//dir1/test/folder2"/>
<to ...
file
组件接受 1 个路径作为输入(用于上下文路径)。您可以考虑使用多个 file
组件,而不是单个 file
组件中的多个路径。
- 使用来自 EIP 的多个并指向同一个端点
<from uri="file://home/leve1/level2/input" />
<to uri="direct:file-handler" />
<from uri="file://dir1/test/folder1" />
<to uri="direct:file-handler" />
<from uri="file://dir1/test/folder2" />
<to uri="direct:file-handler" />
<from uri="direct:file-handler" />
<!-- your logic goes here -->
此处要考虑的另一件事是 recursive
选项,您可以将其与 antInclude
或 include
选项一起使用。在这种情况下,您将能够只用一个消费者轮询不同的目录,例如
<from uri="file://dir1/test?recursive=true&antInclude=folder1/*,folder2/*" />
不过请注意,如果递归轮询太大的文件树,这将非常低效
Apache camel 文件组件中是否有一个选项可以使用多个不同的目录来读取文件。
\
- home
- level1
- level2
- input (files are within this folder)
- dir1
- test
- folder1 ( set of files in this folder)
- folder2 ( set of files in this folder)
当文件夹位于同一目录下时,另一个选项是使用 dynamic routing。
但我的用例无法将文件移动到公共目录,我需要输入目录结构相同并且是两个不同的目录。
有没有像下面这样的选项?
<from uri="file://home/leve1/level2/input,//dir1/test/folder1,//dir1/test/folder2"/>
<to ...
file
组件接受 1 个路径作为输入(用于上下文路径)。您可以考虑使用多个 file
组件,而不是单个 file
组件中的多个路径。
- 使用来自 EIP 的多个并指向同一个端点
<from uri="file://home/leve1/level2/input" />
<to uri="direct:file-handler" />
<from uri="file://dir1/test/folder1" />
<to uri="direct:file-handler" />
<from uri="file://dir1/test/folder2" />
<to uri="direct:file-handler" />
<from uri="direct:file-handler" />
<!-- your logic goes here -->
此处要考虑的另一件事是 recursive
选项,您可以将其与 antInclude
或 include
选项一起使用。在这种情况下,您将能够只用一个消费者轮询不同的目录,例如
<from uri="file://dir1/test?recursive=true&antInclude=folder1/*,folder2/*" />
不过请注意,如果递归轮询太大的文件树,这将非常低效