Spring/Spring Batch
Spring Batch 분기/decide
아이티.파머
2020. 5. 26. 17:17
반응형
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 지향 방식
Step 에따른 흐름제어
소유 작업 내에서 단계를 그룹화 할 수 있으므로 작업이 한단계에서 다른 단계로 이동할때 단계 흐름을 제어 할수 있어야 한다.
- Step 내의 next 설정과 decision 설정으로 다음 Job을 설정 할 수 있다.
- Step의 처리 결과에 따른 Step을 선택 하여 수행 할수 있고, 특정 Step의 실패가 Job 정테의 실패로 이어지지 않도록 구성 할 수도 있다.
순차적 흐름
간단한 흐름의 시나리오며 이미지와 같이 모든단계가 순차적으로 이루어 지는 작업을 말함
순차적 흐름 예제
@Bean
public Job job() {
return this.jobBuilderFactory.get("job")
.start(stepA())
.next(stepB())
.next(stepC())
.build();
}
조건부 흐름
보다 복작합 시나리오 처리를 위해 조건부 흐름을 사용 할 수 있다. 위의 예제에 빗대어 보면 Step A가 성공했을경우와 실패 했을 경우로 나누어 볼수 있다.
@Bean
public Job job() {
return this.jobBuilderFactory.get("job")
.start(stepA())
.on("*").to(stepB())
.from(stepA()).on("FAILED").to(stepC())
.end()
.build();
}
start method 로 시작 하며, on () 메소드는 패턴일치 체계를 통해 다음 스탭을 정의 한다. 여기서는 FAILED 면 Step C로 그외에 모든 것은 Step B로 이동하고 종료 되도록 되어 있다.
분할 흐름
분할흐름 처리에 대한 내역 Flow...
참고자료
반응형