관리 메뉴

IT.FARMER

Spring Batch 분기/decide 본문

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...

참고자료

Configuring a Step

반응형

'Spring > Spring Batch' 카테고리의 다른 글

Spring Batch chunk 지향 방식  (0) 2020.05.26
Spring Batch JobParameter  (0) 2020.05.26
Spring batch 기본 흐름 (tasklet, next flow)  (0) 2020.05.26
Spring Batch 특징  (0) 2020.05.26