Я реализую подпружиненный JOB для обогащения некоторых данных в таблице. Я реализую подход, основанный на разделах.
У меня есть главная таблица, которая содержит только идентификатор, и то же самое передается на этапы. Этот идентификатор становится базой для получения всех записей, связанных с этим идентификатором, из другой таблицы. Поскольку базовый считыватель в salve возвращает только идентификатор, возможно ли иметь другой JdbcPagingReader для чтения данных на основе идентификатора, переданного из основного шага?
stepBuilderFactory.get("slaveStep")
.<Customer, Customer>chunk(5)
.reader(pagingItemReader(null, null))
.reader(anotherPagingReader(null, null)) //Can we have another paging reader to get data based on id from reader above it?
.processor(customerProcessor())
.writer(customerItemWriter())
.faultTolerant()
.retry(RuntimeException.class)
.retryLimit(5)
.skip(RuntimeException.class)
.skipLimit(100)
.taskExecutor(threadPoolTaskExecutor)
.build();