Spring Batch
[Spring Batch] ItemProcessor
오늘도개발
2024. 5. 7. 10:19
1. ItemProcessor 란?
- 입력 받은 데이터를 저장하기 전 처리
public interface ItemProcessor<I, O> {
O process(I item) throws Exception;
}
2. ItemProcessor 사용법
@Bean
public Job ioSampleJob(JobRepository jobRepository, Step step1) {
return new JobBuilder("ioSampleJob", jobRepository)
.start(step1)
.build();
}
@Bean
public Step step1(JobRepository jobRepository, PlatformTransactionManager transactionManager) {
return new StepBuilder("step1", jobRepository)
.<DataSet, Student>chunk(2, transactionManager)
.reader(studentReader())
.processor(compositeProcessor())
.writer(studentWriter())
.build();
}
@Bean
public CompositeItemProcessor compositeProcessor() {
List<ItemProcessor> delegates = new ArrayList<>(2);
delegates.add(new AProcessor());
delegates.add(new BProcessor());
CompositeItemProcessor processor = new CompositeItemProcessor();
processor.setDelegates(delegates);
return processor;
}