dbf-importer swt-importer Забирать и обрабатывать файлы в порядке времени изменения на sftp

This commit is contained in:
AKurakin 2023-11-16 12:43:44 +03:00
parent fac5dca462
commit 10d8803651
4 changed files with 8 additions and 0 deletions

View file

@ -22,6 +22,7 @@ import org.springframework.scheduling.support.PeriodicTrigger;
import ru.spcex.clearing.dbf.importer.config.settings.ImportDBFServiceSettings;
import java.io.File;
import java.util.Comparator;
import java.util.concurrent.TimeUnit;
@Configuration
@ -60,6 +61,8 @@ public class SFTPConfig {
fileSync.setTemporaryFileSuffix(".tmp");
fileSync.setRemoteDirectory(settings.getStore().getSftpIn().getSftpSrcDir());
fileSync.setFilter(new AcceptAllFileListFilter<>());
fileSync.setPreserveTimestamp(true);
fileSync.setComparator(Comparator.comparingInt(f -> f.getAttrs().getMTime()));
return fileSync;
}

View file

@ -48,6 +48,7 @@ public class FileChecker {
List<File> resultFiles = new LinkedList<>();
if (dbfFiles != null && dbfFiles.length >= 1) {
Arrays.sort(dbfFiles, Comparator.comparingLong(File::lastModified));
resultFiles.addAll(Arrays.asList(dbfFiles));
}

View file

@ -22,6 +22,7 @@ import org.springframework.scheduling.support.PeriodicTrigger;
import ru.spcex.clearing.swt.importer.config.settings.ImportSWTServiceSettings;
import java.io.File;
import java.util.Comparator;
import java.util.concurrent.TimeUnit;
@Configuration
@ -60,6 +61,8 @@ public class SFTPConfig {
fileSync.setTemporaryFileSuffix(".tmp");
fileSync.setRemoteDirectory(settings.getStore().getSftpIn().getSftpSrcDir());
fileSync.setFilter(new AcceptAllFileListFilter<>());
fileSync.setPreserveTimestamp(true);
fileSync.setComparator(Comparator.comparingInt(f -> f.getAttrs().getMTime()));
return fileSync;
}

View file

@ -54,6 +54,7 @@ public class FileChecker {
List<File> resultFiles = new LinkedList<>();
if (swtFiles != null && swtFiles.length >= 1) {
Arrays.sort(swtFiles, Comparator.comparingLong(File::lastModified));
resultFiles.addAll(Arrays.asList(swtFiles));
}