跳到主要内容
版本:7.0.2

远程文件信息

DeepSeek V3 中英对照 Remote File Information

从 5.2 版本开始,FtpStreamingMessageSourceFTP 流式入站通道适配器)、FtpInboundFileSynchronizingMessageSourceFTP 入站通道适配器)以及 FtpOutboundGatewayFTP 出站网关)的 "read" 命令会在生成的消息中提供额外的头部信息,这些信息包含有关远程文件的信息:

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

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

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

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