我想配置一个带有JavaDSL的网关,以递归方式从FTP服务器读取所有文件,因为它们位于不同的文件夹中。
我怎么做?请给我一个特别的代码示例
大概是这样的:
@Bean
public FtpOutboundGatewaySpec ftpOutboundGateway() {
return Ftp.outboundGateway(this.ftpSessionFactory,
AbstractRemoteFileOutboundGateway.Command.MGET, "payload")
.options(AbstractRemoteFileOutboundGateway.Option.RECURSIVE)
.regexFileNameFilter("(subFtpSource|.*1.txt)")
.localDirectoryExpression("@ftpServer.targetLocalDirectoryName + #remoteDirectory")
.localFilenameExpression("#remoteFileName.replaceFirst('ftpSource', 'localTarget')");
}
@Bean
public IntegrationFlow ftpMGetFlow(AbstractRemoteFileOutboundGateway<FTPFile> ftpOutboundGateway) {
return f -> f
.handle(ftpOutboundGateway)
.channel(remoteFileOutputChannel());
}
@Bean
public PollableChannel remoteFileOutputChannel() {
return new QueueChannel();
}
从项目的测试用例复制/粘贴。
使用此更新的代码,我得到以下错误:
我可以通过使用SFTP入站通道适配器与轮询器和SFTPPersistentAcceptonCEFileListFilter相结合来完成所有这些。 关键是我需要递归地完成这一操作,我相信这将使我离开SFTP入站网关的领域,进入SFTP出站网关。 但是,除非我错过了什么,否则这是没有帮助的。我需要一个定期的入站操作,所以我不能使用一个轮询器与SFTP出站网关。理想情况下,我不想关心远程目录结构的命名模
我目前正在使用Spring集成实现一些导入/导出机制,总的来说进展很顺利,但在功能方面似乎存在差距,我不了解: 有Spring集成文件轮询目录,写入文件,...我可以用它来轮询一个目录,并获得一个
当msg处理抛出异常时,如何有效地支持JMS重新交付? 我有一个使用JMS(ActiveMQ)的流,它具有配置为允许n次重新传递尝试的连接工厂。 我希望在处理msg时出现任何错误,导致msg在connectionFactory配置允许的情况下被放回重新交付,然后在最大重新交付尝试用尽时,交付给DLQ。与AMQ保持一致。 对一个相关SO问题的回答意味着我可能会有一个重新抛出的错误通道,它应该触发重新
我们需要解析大量传入文件(到一个目录中),并对其进行处理,然后将结果放入每个文件的AWS动画中。 文件的频率为每天60000次,文件每15秒到达一次。每个文件可能包含大约1000个条目。 > spring集成能否处理此负载? 处理此类卷会有任何问题吗? 当文件进入入站通道适配器时,我们可以为每个文件执行服务激活器吗? 我认为我们需要在poller的频道上使用任务执行器?有什么例子吗? 任务执行者是
我尝试了出站网关,如: 中所述 https://github.com/spring-projects/spring-integration-samples/blob/master/basic/ftp/src/test/resources/meta-inf/spring/integration/ftpoutboundgatewaysample-context.xml 和 http://forum.s