如需使用最新稳定版本,请使用 Spring Integration 7.0.4spring-doc.cadn.net.cn

远程文件信息

从版本 5.2 开始,FtpStreamingMessageSourceFTP 流式入站通道适配器)、FtpInboundFileSynchronizingMessageSourceFTP 入站通道适配器)以及 FtpOutboundGatewayFTP 出站网关)的“read”命令会在生成的消息中提供额外的头部信息,用于描述远程文件:spring-doc.cadn.net.cn

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