반응형
2020/05/26 - [Spring/Spring Batch] - Spring Batch 특징
2020/05/26 - [Spring/Spring Batch] - Spring batch 기본 흐름 (tasklet, next flow)
2020/05/26 - [Spring/Spring Batch] - Spring Batch 분기/decide
2020/05/26 - [Spring/Spring Batch] - Spring Batch JobParameter
2020/05/26 - [Spring/Spring Batch] - Spring Batch chunk 지향 방식
JobParameter
Batch를 실행함에 있어 파라미터를 넘겨주어 운영시 언제든지 데이터를 처리 해야 하는경우가 있다. 이때 JobParmeter를 사용 하도록 하며 @StepScope / @JobScope 에대해 간략하게 알아보자
- @JobScope : Step 선언문에서 사용 가능 함.
- @StepScope : Tasklet 이나, ItemReader,ItemWriter,ItemProcess 에서만 사용가능
예제 - Chunk 기반 @StepScope (ItemReader,ItemWriter,ItemProcess,Tasklet)
**
* JOB Process - 1. READER
* @param pathToFile
* @return
* @throws Exception
*/
@Bean
@StepScope
public AudienceItemReader audienceItemReader(@Value("#{jobParameters[pathToFile]}") String pathToFile,
@Value("#{jobParameters[fileName]}") String fileName) throws Exception {
return new AudienceItemReader(pathToFile, FILE_PATH, fileName);
}
/**
* JOB 생성
* @param listener
* @param audienceStep1
* @return
*/
@Bean
public Job importAudienceJob(AudienceJobCompletionNotificationListener listener, @Qualifier("audienceStep1") Step audienceStep1) {
return jobBuilderFactory.get("importAudienceJob")
.incrementer(new RunIdIncrementer())
.listener(listener)
.flow(audienceStep1)
.end()
.build();
}
/**
* 스탭 생성
* @param writer2
* @param audienceRepository
* @return
* @throws Exception
*/
@Bean
public Step audienceStep1(AudienceItemWriter writer2, @Qualifier("audienceRepository") AudienceRepository audienceRepository) throws Exception {
return stepBuilderFactory.get("audienceStep1")
.<AudienceFile, RedisDataEntity>chunk(AudienceConst.BUFFER_SIZE)
.reader(audienceItemReader(null,null))
.processor(audienceItemProcessor())
.writer(audienceItemWriter(audienceRepository))
.build();
}
반응형
'Spring > Spring Batch' 카테고리의 다른 글
Spring Batch chunk 지향 방식 (0) | 2020.05.26 |
---|---|
Spring Batch 분기/decide (0) | 2020.05.26 |
Spring batch 기본 흐름 (tasklet, next flow) (0) | 2020.05.26 |
Spring Batch 특징 (0) | 2020.05.26 |