У меня есть задача, которую мне нужно загрузить в базу данных только новых CSV-файлов. если файл уже был загружен в базу данных, этот файл следует игнорировать. В настоящее время я загружаю все файлы CSV независимо от того.
// daily/*.csv
@Value("${dailyExportDirPath}")
private Resource[] inputResources;
@Bean
public MultiResourceItemReader<DailyExport> multiResourceItemReader(FieldSetMapper<DailyExport> testClassRowMapper) {
MultiResourceItemReader<DailyExport> multiResourceItemReader = new MultiResourceItemReader<>();
multiResourceItemReader.setName("dailyExportMultiReader");
multiResourceItemReader.setDelegate(reader(testClassRowMapper));
multiResourceItemReader.setStrict(true);
multiResourceItemReader.setResources(inputResources);
return multiResourceItemReader;
}
Я думал создать таблицу, которая будет содержать все файлы, которые уже загружены. Таким образом, вместо того, чтобы инициировать массив ресурсов со всеми существующими CSV из каталога, задание создаст массив ресурсов, который будет содержать только новые отчеты.
все отчеты в каталоге - отчеты в базе данных = новые отчеты, которые необходимо загрузить.
Как мне оптимизировать массив ресурсов, чтобы они содержали только соответствующие файлы, то есть новые?
Спасибо