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;
}

 

 

 

'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