104.19. 写入文件
Camel 也可以编写文件,即生成文件。在以下示例中,我们会收到有关在 SEDA 队列写入到目录之前所处理的报告。
104.19.1. 使用 Exchange.FILE_NAME
写入子目录
使用单一路由时,可以将文件写入到任意数量的子目录。如果您有路由设置,如下所示:
<route> <from uri="bean:myBean"/> <to uri="file:/rootDirectory"/> </route>
您可以将 myBean
将标头 Exchange.FILE_NAME
设置为值,例如:
Exchange.FILE_NAME = hello.txt => /rootDirectory/hello.txt Exchange.FILE_NAME = foo/bye.txt => /rootDirectory/foo/bye.txt
这可让您有一个路由将文件写入多个目的地。
104.19.2. 通过相对于最终目的地的临时目录写入文件
有时,您需要临时将文件写入相对于目标目录的一些目录。当某些具有有限过滤功能的外部进程从您要写入的目录中读取时,通常会发生这种情况。在以下示例中,将写入 /var/myapp/filesInProgress
目录,并在进行数据传输后,它们将被整体移到' /var/myapp/finalDirectory 'directory 中。
from("direct:start"). to("file:///var/myapp/finalDirectory?tempPrefix=/../filesInProgress/");