我需要通过SFTP定期定期连接到远程位置,并检查是否有新文件。如果有新文件,我需要下载并重命名。我不删除远程文件,只需要处理一次即可。
到目前为止,一切都很好。
我可以通过结合使用 SFTP入站通道适配器和 Poller 和 SftpPersistentAcceptOnceFileListFilter 来完成所有操作。
诀窍是我需要递归执行此操作,我相信这会使我从 SFTP Inbound 领域转移到 SFTP Outbound Gateway 。
但是,除非我缺少任何东西,否则这没有帮助。我需要定期进行入站操作,因此不能将 Poller 与 SFTP Outbound Gateway 一起使用。理想情况下,我不想关心远程目录结构的命名模式。
说实话,我对Spring Integration的了解不是很深,所以希望我能缺少一些明显的东西。如果需要的话,我可以扩展 SFTP入站通道适配器以使用JSch库创建我需要的内容(即使很实际也不确定,但是我将在等待答复的同时阅读此内容发布)。
当有更优雅或更标准的方法来解决我的这个问题时,我只是不想改变自己的方式。
谢谢。
答案 0 :(得分:1)
我需要定期进行入站操作,因此不能将轮询器与SFTP出站网关一起使用。
只需轮询POJO入站通道适配器,该适配器将返回您要轮询的目录,并将消息发送到出站网关。
Docs here。它显示了XML配置,但是也可以使用Java配置或Java DSL来完成。