1
ファイル名を順番にループするファイルシステムからFTP経由でファイルをプルしています。たとえば、繰り返しパターンファイルのFtpPersistentAcceptOnceFileListFilter
abc.000.txt
abc.001.txt
abc.002.txt
...
abc.999.txt
abc.000.txtに戻ります。
私はFtpPersistentAcceptOnceFileListFilterをmetadataStoreにredisで使用しています。 abc.999.txtの後の次のファイルとしてabc.000.txtを期待する方法を教えてください。
マイ設定:
@Bean
public FtpPersistentAcceptOnceFileListFilter ftpPersistantFilter() {
return new FtpPersistentAcceptOnceFileListFilter(metadataStore(), "ftpPersistentAcceptOnce");
}
@Bean
public Expression remoteDirectory() {
return new LiteralExpression(this.remoteDirectory);
}
@Bean
public IntegrationFlow ftpInboundFlow() {
DateTime currentUtcDay = new DateTime(DateTimeZone.UTC);
return IntegrationFlows
.from(s -> s.ftp(ftpSessionFactory())
.preserveTimestamp(true)
.remoteDirectoryExpression(remoteDirectory())
.filter(ftpPersistantFilter())
.localFilename(f -> (currentUtcDay.toString("YYYYMMdd")) + "." + f)
.localDirectory(new File(this.localDirectory)),
e -> e.id("ftpInboundAdapter").autoStartup(true))
.channel(MessageChannels.queue("ftpInboundResultChannel"))
.get();
}
おそらく私の質問に答えます。最初のシーケンス番号に戻るまでに約2日かかりますので、私はそれを実行させて、私が期待した結果が得られるかどうかを確認します。 – brentlemons