使用 Spring Integration Java DSL on Spring Integration 5 在入站通道上配置目录扫描器

Configure a directory scanner on an inbound channel with Spring Integration Java DSL on Spring Integration 5

因此 Spring Integration 5 为入站渠道引入了目录扫描器的概念,我很想在我的 ftp 渠道中使用它。

但是我不确定如何使用 Java DSL 配置它。 docs say I can set the scanner on the scanner inbound-channel-adapter in xml. However, I'm using Spring Integration DSL via IntegrationFlow 似乎我在采用这种方法时无法设置此目录扫描器...

这是真的吗?有没有一种方法可以使用 IntegrationFlow 设置目录扫描器。我知道我可以转而使用更正式的 Java 配置方法,但我不想这样做,因为那样会需要很多工作。

看起来我们刚刚错过了向 DSL 添加 scanner 选项。

然而,这里有一个简单的解决方法:

    FtpInboundFileSynchronizingMessageSource ftpSource =
            Ftp.inboundAdapter(sessionFactory())
                    .regexFilter(".*\.txt$")
                    .get();
    ftpSource.setScanner(...);
    IntegrationFlow flow = IntegrationFlows.from(ftpSource,

因此,您需要从 DSL 规范中提取目标对象并直接调用其 setter。

随时将 .scanner() 选项贡献给 RemoteFileInboundChannelAdapterSpec 回到框架!