Spring integration 使用Spring集成通过SFTP定期和递归地提取文件

Spring integration 使用Spring集成通过SFTP定期和递归地提取文件,spring-integration,sftp,spring-integration-sftp,Spring Integration,Sftp,Spring Integration Sftp,我需要定期通过SFTP将连接到远程位置,并检查新文件。如果有新文件到达,我需要下载并重命名它们。我不删除远程文件,我只需要处理它们一次 到目前为止还不错 我可以通过使用一个SFTP入站通道适配器、一个轮询器和一个SFTPersistentAcceptonFileListFilter来完成所有这些 诀窍是我需要递归地做这个,我相信这会把我从SFTP入站领域带到SFTP出站网关 但是,除非我遗漏了什么,否则这是没有帮助的。我需要一个定期的入站操作,所以我不能使用带有SFTP出站网关的轮询器。理想情况

我需要定期通过SFTP将连接到远程位置,并检查新文件。如果有新文件到达,我需要下载并重命名它们。我不删除远程文件,我只需要处理它们一次

到目前为止还不错

我可以通过使用一个SFTP入站通道适配器、一个轮询器和一个SFTPersistentAcceptonFileListFilter来完成所有这些

诀窍是我需要递归地做这个,我相信这会把我从SFTP入站领域带到SFTP出站网关

但是,除非我遗漏了什么,否则这是没有帮助的。我需要一个定期的入站操作,所以我不能使用带有SFTP出站网关的轮询器。理想情况下,我不想关心远程目录结构的命名模式

老实说,我对Spring集成的了解不是很深,所以希望我遗漏了一些明显的东西。如果需要的话,我可以扩展SFTP入站通道适配器,以使用JSch库创建我需要的内容(即使不确定这是否可行,但我会在等待对此帖子的响应时阅读相关内容)

当有更优雅或更标准的方法来解决我的问题时,我只是不想绕圈子

谢谢

我需要一个定期的入站操作,所以我不能使用带有SFTP出站网关的轮询器

只需轮询POJO入站通道适配器,该适配器返回要轮询的目录并将消息发送到出站网关


。它显示XML配置,但也可以使用Java配置或Java DSL完成。

谢谢,Gary。我会试试你的建议,然后在这里汇报。我相信它会起作用的。目前我有一个MessageEmitter POJO,它的单个方法作为ScheduledTask执行,并将注入的消息发送到注入通道中。太好了!感谢您花时间回复。