104.13. 使用 done 文件


从 Camel 2.6 开始提供

另请参阅在下面 写入 done 文件 的部分。

如果您只想在文件存在时消耗文件,则可以在端点上使用 doneFileName 选项。

from("file:bar?doneFileName=done");

如果在目标文件的同一个目录中存在一个 done 文件,将仅使用 bar 文件夹中的文件。在完成使用文件或,Camel 将自动删除 done 文件。从 Camel 2.9.3 开始,如果配置了 noop=true,则 Camel 上的 Camel 不会自动删除 done 文件

但是,每个目标文件都有一个 done 文件 更为常见。这意味着有一个 1:1 关联。为此,您必须在 doneFileName 选项中使用动态占位符。目前 Camel 支持以下两个动态令牌: file:namefile:name.noext,它必须包括在 $\{ } 中。消费者只支持 done 文件名 的静态部分作为前缀或后缀(不能同时支持两者)。

from("file:bar?doneFileName=${file:name}.done");

如果存在名称文件名为 .done 的文件,则仅轮询 本例中的文件。例如:

  • hello.txt - 是要消耗的文件
  • hello.txt.done - 是关联的 done 文件

您还可以将前缀用于 done 文件,例如:

from("file:bar?doneFileName=ready-${file:name}");
  • hello.txt - 是要消耗的文件
  • ready-hello.txt - 是关联的 done 文件
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.