【发布时间】:2019-02-21 07:31:17
【问题描述】:
我想创建一个应用程序,我将在其中收听 用于文本文件的名为“输入”的文件夹,然后将文本文件移动到“输出” 然后将其发送到 sftp 服务器。 这是我在 Spring Integration 中的代码。
@Bean
public IntegrationFlow textFileIntegration(@Value("${input.dir}") File in,
@Value("${output.dir}") File out,
MessageChannel sftpChannel) {
return IntegrationFlows
.from(Files.inboundAdapter(in)
.autoCreateDirectory(true)
.patternFilter("*.txt"),
sourcePollingChannelAdapterSpec ->
sourcePollingChannelAdapterSpec.poller(pollerFactory -> pollerFactory.fixedRate(1000)))
//.transform(File.class, file -> service.process(file)) commented on purpose
.handle(Files.outboundAdapter(out))
.channel(sftpChannel)
.get();
}
现在发生的情况是,当我将文本文件放入“输入”目录时,该文件随后成功移动到“输出”目录,但发送到 sftp 通道不起作用。我尝试评论句柄方法和 sftp 通道将工作。 我只想先将文件放到输出目录,然后再发送到 sftp。 我在 Spring Integration DSL 中看到了一个“路由”功能,但不确定这是否适合使用。
提前谢谢你。
【问题讨论】:
标签: java spring spring-integration