20.15. 使用完成的文件
另请参阅下面 编写完成文件 的部分。
如果只想在文件存在时使用文件,那么您可以在端点上使用 doneFileName
选项。
from("file:bar?doneFileName=done");
只有当与目标文件位于同一目录中有已完成的文件时,才会使用 bar 文件夹中的文件。当在使用这些文件时,Camel 将自动删除已完成的文件。如果配置了 noop=true
,Camel 不会自动删除 已完成的文件。
但是,每个目标文件 有一个 比较常见的文件。这意味着有 1:1 个关联。要做到这一点,您必须在 doneFileName
选项中使用动态占位符。目前 Camel 支持以下两个动态令牌: file:name
和 file:name.noext
,它必须包含在 $\{ } 中。使用者仅支持所 执行文件名 的静态部分作为前缀或后缀(非两者)。
from("file:bar?doneFileName=${file:name}.done");
在本例中,只有当文件名为 .done 时,才会轮询 文件。例如:
-
hello.txt
- 是要使用的文件 -
hello.txt.done
- 是关联的文件
您还可以为已完成的文件使用前缀,例如:
from("file:bar?doneFileName=ready-${file:name}");
-
hello.txt
- 是要使用的文件 -
ready-hello.txt
- 是关联的文件