从版本 5.2 开始,(SFTP Outbound Gateway) 的 (SFTP Streaming Inbound Channel Adapter)、(SFTP Inbound Channel Adapter) 和 “read” 命令在消息中提供额外的标头,以生成有关远程文件的信息:SftpStreamingMessageSourceSftpInboundFileSynchronizingMessageSourceSftpOutboundGatewayspring-doc.cn

  • FileHeaders.REMOTE_HOST_PORT- 在文件传输操作期间,远程会话已连接到的 host:port 对;spring-doc.cn

  • FileHeaders.REMOTE_DIRECTORY- 已执行操作的远程目录;spring-doc.cn

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

由于 不会针对远程文件生成消息,而是使用本地副本,因此在同步操作期间,它会以 URI 样式 () 将有关远程文件的信息存储在 (可以在外部配置) 中。 轮询本地文件时,将检索此元数据。 删除本地文件时,建议删除其元数据条目。 为此,它提供了一个回调。 此外,还有一个 to be used 在元数据键中。 当这些组件之间共享同一实例时,建议将此前缀与基于 -的实施中使用的前缀不同,以避免条目覆盖,因为两者都会筛选并对元数据入口键使用相同的本地文件名。SftpInboundFileSynchronizingMessageSourceAbstractInboundFileSynchronizerMetadataStoreprotocol://host:port/remoteDirectory#remoteFileNameSftpInboundFileSynchronizingMessageSourceAbstractInboundFileSynchronizerremoveRemoteFileMetadata()setMetadataStorePrefix()MetadataStoreFileListFilterMetadataStoreAbstractInboundFileSynchronizerspring-doc.cn