21.16. 编写完成的文件
编写一个文件后,您可能希望将额外的 done文件 写为一种标记,以指示该文件已完成并已写入的其他人。为此,您可以在文件制作者端点上使用 doneFileName 选项。
.to("file:bar?doneFileName=done");
.to("file:bar?doneFileName=done");
只需在与目标 文件相同的目录中 创建一个名为 的文件。
但是,更常见的是每个目标文件有一个文件。这意味着有 1:1 关联。要做到这一点,您必须在 doneFileName 选项中使用动态占位符。目前,Camel 支持以下两个动态令牌: file:name 和 file:name.noext,它必须包括在 $\{ } 中。
.to("file:bar?doneFileName=done-${file:name}");
.to("file:bar?doneFileName=done-${file:name}");
如果目标文件是在与目标文件所在的相同目录中的 foo.txt 文件,则会创建一个名为 done-foo.txt 的文件。
.to("file:bar?doneFileName=${file:name}.done");
.to("file:bar?doneFileName=${file:name}.done");
如果目标文件是在与目标文件所在的相同目录中的 foo.txt 文件,则会创建一个名为 foo.txt.done 的文件。
.to("file:bar?doneFileName=${file:name.noext}.done");
.to("file:bar?doneFileName=${file:name.noext}.done");
如果目标文件是在与目标文件所在的相同目录中的 foo.txt 文件,则会创建一个名为 foo.done 的文件。