0
Ich habe diesen Code, in dem ich ein SftpPersistentAcceptOnceFileListFilter und ich weiß nicht, wie. Der Filter sollte vor dem lokalen Abrufen von Dateien sein.SFTP Persistent Accept Only Once Filter auf SFTP-Gateway
@InboundChannelAdapter(value = "sftpMgetInputChannel",
poller = @Poller(fixedDelay = "5000"))
public String filesForMGET(){
return "'/tmp/input/remoteDirectory/*'";
}
@Bean
public IntegrationFlow sftpMGetFlow() {
return IntegrationFlows.from("sftpMgetInputChannel")
.handleWithAdapter(h -> h.sftpGateway(this.sftpSessionFactory,
Command.MGET, "payload")
.options(Option.RECURSIVE)
.regexFileNameFilter("((\\d{8})|*\\.txt)")
.localDirectoryExpression("'sftp-inbound/'" + "#remoteDirectory"))
.handler(messageHandler())
.get();
}
@Bean
public MessageChannel sftpMgetInboundChannel(){
return new DirectChannel();
}
@Bean
public MessageHandler messageHandler(){
return new MessageHandler() { ... }
}
Das Präfix ctor arg im Filter dient lediglich zur Verwendung desselben Speichers in mehreren Filtern zur Isolierung. –