因此 Spring Integration 5 引入了入站 channel 的目录扫描器的概念,我热衷于将其与我的 ftp channel 一起使用。
但是我不确定如何使用 Java DSL 配置它。 docs假设我可以在 xml 中的扫描仪入站 channel 适配器上设置扫描仪。但是,我正在使用 Spring Integration DSL via IntegrationFlow看来我在采用这种方法时无法设置此目录扫描器...
这是真的吗?有没有办法可以使用 IntegrationFlow 设置目录扫描器。我知道我可以转向使用更正式的 Java 配置方法,但我不想这样做,因为这会需要大量工作。
最佳答案
看起来我们刚刚错过了向 DSL 添加扫描仪
选项。
但是,这里有一个简单的解决方法:
FtpInboundFileSynchronizingMessageSource ftpSource =
Ftp.inboundAdapter(sessionFactory())
.regexFilter(".*\\.txt$")
.get();
ftpSource.setScanner(...);
IntegrationFlow flow = IntegrationFlows.from(ftpSource,
因此,您需要从 DSL Spec 中提取目标对象并直接调用其 setter。
请随意将 .scanner()
选项贡献到 RemoteFileInboundChannelAdapterSpec
中并返回给框架!
关于java - 使用 Spring Integration 5 上的 Spring Integration Java DSL 在入站 channel 上配置目录扫描器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54884615/