24.21. 写入文件


Camel 也能够编写文件,即生成文件。在以下示例中,我们将在将进程写入目录前收到有关 SEDA 队列的一些报告。

24.21.1. 使用 Exchange.FILE_NAME写入子目录

通过使用单个路由,可以将文件写入任意数量的子目录。如果您有路由设置,如下所示:

<route>
  <from uri="bean:myBean"/>
  <to uri="file:/rootDirectory"/>
</route>

您可以将 header Exchange.FILE_NAME 设置为值,例如:

Exchange.FILE_NAME = hello.txt => /rootDirectory/hello.txt
Exchange.FILE_NAME = foo/bye.txt => /rootDirectory/foo/bye.txt

这可让您有一个路由来将文件写入多个目的地。

24.21.2. 通过相对于最终目的地的临时目录写入文件

有时您需要临时将文件写入相对于目标目录的一些目录。当某些具有有限过滤功能的外部进程是从您要写入的目录中读取时,通常会发生这种情况。在以下示例中,文件将写入 /var/myapp/filesInProgress 目录,并在进行数据传输后,将以原子方式移到' /var/myapp/finalDirectory 'directory。

from("direct:start").
  to("file:///var/myapp/finalDirectory?tempPrefix=/../filesInProgress/");
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.