111.11. 使用本地工作目录


Camel 支持从远程 FTP 服务器消耗,并将文件直接下载到本地工作目录中。这可避免将整个远程文件内容读取到内存中,因为它使用 FileOutputStream 直接传输到本地文件。

在下载文件时,Camel 将存储到名称与远程文件相同的本地文件,但 .inprogress 作为扩展名。之后,该文件被重命名为删除 .inprogress 后缀。最后,当 Exchange 完成本地文件后,将删除。

因此,如果您要从远程 FTP 服务器下载文件并将其存储为文件,那么您需要路由到文件端点,例如:

from("ftp://someone@someserver.com?password=secret&localWorkDirectory=/tmp").to("file://inbox");
Copy to Clipboard Toggle word wrap
提示

以上路由效率更高,因为它可避免将整个文件内容读入内存中。它将直接下载远程文件到本地文件流。然后,java.io.File 处理被用作 Exchange body。文件生成者利用此事实,可以直接处理工作文件 java.io.File 处理,并对目标文件名执行 java.io.File.rename。由于 Camel 知道它是一个本地工作文件,它可以优化并使用重命名而不是文件副本,因为工作文件应该被任何删除。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat