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;
}
'Spring Batch' 카테고리의 다른 글
[Spring Batch] JobScope, StepScope (0) | 2024.05.07 |
---|---|
[Spring Batch] ItemWriter (0) | 2024.05.07 |
[Spring Batch] ItemReader (0) | 2024.05.07 |
[Spring Batch] Job 과 Step (0) | 2024.05.06 |
[Spring Batch] 스프링 배치 란? (0) | 2024.05.06 |