使用 Spring 集成通过 SFTP 定期和递归地拉取文件
Pulling Files Periodically and Recursively via SFTP using Spring Integration
我需要通过 SFTP 定期 连接到远程位置并检查新文件。如果有新文件到达,我需要下载它们并重命名它们。我不删除远程文件,只需要处理一次。
到目前为止一切顺利。
我可以通过使用 SFTP 入站通道适配器 结合 Poller 和 SftpPersistentAcceptOnceFileListFilter。
诀窍是我需要递归地执行此操作,我相信,这使我远离了 SFTP 入站 的领域进入 SFTP 出站网关 。
但是,除非我遗漏了什么,否则这没有帮助。我需要一个定期的入站操作,所以我不能将 Poller 与 SFTP 出站网关 一起使用。理想情况下,我不想关心远程目录结构的命名模式。
老实说,我对 Spring 集成的了解不是很深,所以希望我遗漏了一些明显的东西。如果需要,我可以扩展 SFTP 入站通道适配器 以使用 JSch 库创建我需要的东西(不确定是否可行,但我会在等待时阅读相关内容对此 post 的回应)。
我只是不想在有更优雅或更标准的方法来解决我的这个问题时绕过它。
谢谢。
I need a periodic inbound operation, so I can't use a Poller with the SFTP Outbound Gateway.
只需轮询一个 POJO 入站通道适配器,returns 您要轮询的目录并将消息发送到出站网关。
Docs here。它显示 XML 配置,但也可以使用 Java 配置或 Java DSL 来完成。
我需要通过 SFTP 定期 连接到远程位置并检查新文件。如果有新文件到达,我需要下载它们并重命名它们。我不删除远程文件,只需要处理一次。
到目前为止一切顺利。
我可以通过使用 SFTP 入站通道适配器 结合 Poller 和 SftpPersistentAcceptOnceFileListFilter。
诀窍是我需要递归地执行此操作,我相信,这使我远离了 SFTP 入站 的领域进入 SFTP 出站网关 。
但是,除非我遗漏了什么,否则这没有帮助。我需要一个定期的入站操作,所以我不能将 Poller 与 SFTP 出站网关 一起使用。理想情况下,我不想关心远程目录结构的命名模式。
老实说,我对 Spring 集成的了解不是很深,所以希望我遗漏了一些明显的东西。如果需要,我可以扩展 SFTP 入站通道适配器 以使用 JSch 库创建我需要的东西(不确定是否可行,但我会在等待时阅读相关内容对此 post 的回应)。
我只是不想在有更优雅或更标准的方法来解决我的这个问题时绕过它。
谢谢。
I need a periodic inbound operation, so I can't use a Poller with the SFTP Outbound Gateway.
只需轮询一个 POJO 入站通道适配器,returns 您要轮询的目录并将消息发送到出站网关。
Docs here。它显示 XML 配置,但也可以使用 Java 配置或 Java DSL 来完成。