Spring Integration:使用基于密钥的身份验证进行 SFTP 下载

主要观点:展示如何使用 Spring Integration 从远程 SFTP 服务器下载文件,可使用公钥或密码两种认证方式,介绍了项目结构、使用 Java 配置的 SftpConfig、设置带有 Spring Integration 的 Spring Boot 以及使用示例。
关键信息:

  • 技术:Spring Boot 2.0.4.RELEASE、Spring Integration 5.0.7.RELEASE、Spring 5.0.8.RELEASE。
  • 项目结构:给出最终项目目录结构图片。
  • SftpConfig:配置 SFTP 会话工厂等相关 bean,包括主机、端口、用户名等参数设置,以及文件同步器等的配置。
  • 设置 Spring Boot:使用@SpringBootApplication@IntegrationComponentScan@EnableIntegration注解。
  • 使用示例:创建集成测试,使用真实 SFTP 服务器(启用公钥认证),通过异步线程检查文件下载情况。
    重要细节:
  • 在 SftpConfig 中,根据是否有私钥或密码来设置 SFTP 会话工厂的相关参数。
  • @InboundChannelAdapterpoller通过 cron 表达式定义定期检查的周期。
  • 在使用示例中,创建临时目录作为 SFTP 服务器的主目录,并在测试前后进行清理操作。通过异步线程等待远程文件下载到本地系统。
阅读 6
0 条评论