Spring 集成 - 具有不同文件夹的动态多重 sftp/ftp 会话

Spring Integration - dynamic multible sftp/ftp sessions with different folders

我不太确定 spring 集成是否适合我。

我想将连接数据 (SFTP/FTP) 输入数据库并按计划使用它来获取数据。

但是我现在有几个问题,

  1. 我可以在 spring 集成中动态添加 SFTP /FTP 个工作吗?

  2. 我可以集群 spring 个集成作业吗?

我找到了多个解决方案来进行多次 SFTP 投票,但它们都不起作用。 例如:

感谢您的反馈。

您可以使用 Spring 集成 Java DSL 动态流来做到这一点:https://docs.spring.io/spring-integration/docs/current/reference/html/dsl.html#java-dsl-runtime-flows

所以:

  1. 您执行 JDBC 入站通道适配器以从数据库轮询设置:https://docs.spring.io/spring-integration/docs/current/reference/html/jdbc.html#jdbc-inbound-channel-adapter
  2. 您使用 IntegrationFlowContext 创建动态流将 SFTP 服务器连接工厂和远程目录填充到 SFTP 入站通道适配器并启动该动态流:https://docs.spring.io/spring-integration/docs/current/reference/html/sftp.html#sftp-inbound

另一种选择是考虑使用 RotatingServerAdvicehttps://docs.spring.io/spring-integration/docs/current/reference/html/sftp.html#sftp-rotating-server-advice

要使这样的解决方案在集群中健壮,您应该使用配置了共享 MetadataStoreSftpPersistentAcceptOnceFileListFilterhttps://docs.spring.io/spring-integration/docs/current/reference/html/system-management.html#metadata-store.

此示例演示了如何为 TCP/IP 使用动态流的技术,但原理是相同的:https://github.com/spring-projects/spring-integration-samples/tree/master/advanced/dynamic-tcp-client

另请参阅此 SO 线程: