如何触发和轮询 ftp 出站网关

How to trigger and poll an ftp outbound gateway

我正在尝试使用 ftp 出站网关和递归方法从 ftp 服务器传输文件,因为我的 ftp 服务器将生成新的随机名称文件夹,我需要获取一切。我只知道这种方法有效,除非有人能提出更简单的方法。不管怎样,这是我的代码。

@Bean(value = "ftpTolocal")
public IntegrationFlow fileToFile() {
    IntegrationFlow flow = IntegrationFlows
            .from("inputChannel")
            .handle(Ftp.outboundGateway(defaultFtpSessionFactory(),
                    AbstractRemoteFileOutboundGateway.Command.MGET,
                    null)
                    //.regexFileNameFilter("(.*n.txt)")
                    .autoCreateDirectory(true)
                    .options(AbstractRemoteFileOutboundGateway.Option.RECURSIVE)
                    .localDirectoryExpression("'/localDirectory/' + #remoteDirectory"))
            .channel("nullChannel")
            
            .get();
    return flow;
}

我已经搜索过,我总是得到的答案是创建一个 inputChannel 消息,但我找不到真正告诉我如何去做的消息。我也看到很多 xml 解决方案,但我找不到如何实现它。 FTP 集成指南似乎很少见,解释对我这样的菜鸟来说似乎很难理解。提前致谢。

@Bean
IntegrationFlow polled() {
    return IntegrationFlows.fromSupplier(() -> "testMessage",
                    e -> e.poller(Pollers.fixedDelay(Duration.ofSeconds(5))))
            .handle(System.out::println)
            .get();
}