|
对于最新稳定版本,请使用 Spring Integration 7.0.0! |
远程文件信息
从5.2版本开始,FtpStreamingMessageSource (FTP 流式入站通道适配器),FtpInboundFileSynchronizingMessageSource (FTP入站通道适配器)以及“read”命令Ftp外发网关 (FTP出站网关)在消息中提供额外的头部,以便产生关于远程文件的信息:
-
FileHeaders.REMOTE_HOST_PORT- 在文件传输作中,远程会话连接的host:port对; -
FileHeaders.REMOTE_DIRECTORY-作已执行的远程目录; -
FileHeaders.REMOTE_FILE- 远程文件名;仅适用于单文件作。
自从......FtpInboundFileSynchronizingMessageSource不会对远程文件产生消息,但通过本地副本,摘要InboundFileSynchronizer存储关于远程文件的信息元数据存储(可在外部配置)采用URI风格(protocol://host:port/remoteDirectory#remoteFileName)在同步作中。
这些元数据由FtpInboundFileSynchronizingMessageSource当轮询本地文件时。
当本地文件被删除时,建议删除其元数据条目。
这摘要InboundFileSynchronizer提供removeRemoteFileMetadata()为此目的回归。
此外,还有一个setMetadataStorePrefix()用于元数据密钥。
建议该前缀与元数据存储-基于文件列表过滤器实现方式相同元数据存储实例在这些组件之间共享,以避免因过滤器和摘要InboundFileSynchronizer元数据输入键使用相同的本地文件名。