跳到主要内容

远程文件信息

QWen Plus 中英对照 Remote File Information

从 5.2 版本开始,FtpStreamingMessageSource (FTP 流式入境通道适配器)、FtpInboundFileSynchronizingMessageSource (FTP 入境通道适配器) 和 FtpOutboundGateway (FTP 出站网关) 的 "read"-commands 在消息中提供额外的标题,以提供有关远程文件的信息:

  • FileHeaders.REMOTE_HOST_PORT - 文件传输操作期间远程会话连接到的主机:端口对;

  • FileHeaders.REMOTE_DIRECTORY - 操作执行的远程目录;

  • FileHeaders.REMOTE_FILE - 远程文件名;仅适用于单个文件操作。

由于 FtpInboundFileSynchronizingMessageSource 不是针对远程文件生成消息,而是使用本地副本,因此 AbstractInboundFileSynchronizer 在同步操作期间以 URI 格式 (protocol://host:port/remoteDirectory#remoteFileName) 将有关远程文件的信息存储在 MetadataStore 中(可以外部配置)。此元数据在轮询本地文件时由 FtpInboundFileSynchronizingMessageSource 检索。当本地文件被删除时,建议删除其元数据条目。AbstractInboundFileSynchronizer 提供了一个 removeRemoteFileMetadata() 回调用于此目的。此外,还有一个 setMetadataStorePrefix() 可用于元数据键中。建议此前缀与 MetadataStore 基础的 FileListFilter 实现所使用的前缀不同,当相同的 MetadataStore 实例在这两个组件之间共享时,以避免条目覆盖,因为过滤器和 AbstractInboundFileSynchronizer 都使用相同的本地文件名作为元数据条目键。