반응형
Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- coalesce
- Redis Sentinel
- QueryDSL
- spring boot redis
- jmeter
- weblogic 10
- docker compose mysql
- Docker Compose
- JPA
- KAFKA
- spring cloud
- vue.js
- redis
- cassandra
- WebLogic
- grafana
- mybatis
- RabbitMQ
- MySQL
- docker
- netflix oss
- argo cd
- Airflow
- ChannelPipeline
- Spring Open Feign
- spring boot
- docker-compose
- Selenium
- Hibernate
- Netty
Archives
- Today
- Total
IT.FARMER
Spring Batch JobParameter 본문
반응형
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 |