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