у меня есть структура в Spring Batch.
1. xmlItemReader читает xml, в нем есть дата. Date one.
2. затем идет процессор, который должен по условию if(one<current)
создавать список дат меньших сегодняшних.
3. затем запись этот список в файл txt.
пункт 1 реализован так
@Bean
public ItemReader<Bic> reader() {
FlatFileItemReader<Bic> reader = new FlatFileItemReader<Bic>();
reader.setResource(new ClassPathResource("sample-data.xml"));
reader.setLineMapper(new DefaultLineMapper<Bic>() {{
setLineTokenizer(new DelimitedLineTokenizer() {{
setNames(new String[]{"date"});
}});
setFieldSetMapper(new BeanWrapperFieldSetMapper<Bic>() {{
setTargetType(Bic.class);
}});
}});
return reader;
}
пункт 3 реализован так
@Bean
public FlatFileItemWriter itemWriter() {
return new FlatFileItemWriterBuilder<Foo>()
.name("itemWriter")
.resource(new FileSystemResource("target/test/output.txt"))
.lineAggregator(new PassThroughLineAggregator<>())
.build();
}
как реализовать процессор с условием в п.2?
Не совсем понятно, почему нельзя использовать ItemProcessor?
public class CustomItemProcessor implements ItemProcessor<String, Foo {
public Foo process(Bic item) {
if (predicate){
return new Foo();
}
return null;
}
}
Остается только сформировать джобу.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости