- JobBuilderFactory
Job객체를 만드는 여러개의 빌더를 통합하는 역할, Job을 쉽게 만들게 도와둔다.
- Decider
Job안에 Step들을 분기 처리해주는 if esle 역할이라고 보면 된다.
- JobExecution
JobInstance에 대한 실행 시도 객체.
JobInstance 실패 후 재실행 하여도 동일한 JobInstance 실행시키지만 2번째 시도시 JobExecution 은 개별로 다시 생긴다.
JobExecution은 JobInstance 실행에 대한 상태, 시작시간, 종료시간, 생성시간 등의 정보를 담는다.
- .on() : 캐치할 ExitStatus지정 (*)경우 전체
- .to : 다음으로 이동할 step 지정
- .end() : on(*)뒤 end는 FlowBuilder 반환 -> 계속 from 이어 갈 수 있음
build()뒤 end는 FlowBuilder 종료
- .listener : Listener 메소드를 호출함 Job또는 Step 실행 전 후에 상태확인 및 작업을 추가하기 위함
- .on() : 캐치할 ExitStatus지정 (*)경우 전체
- .to : 다음으로 이동할 step 지정
- .from : 일종의 이벤트 리스너 역할, 상태값을 보고 일치하는 상태라면 to() 에 포함된 step을 호출
@Bean
public Job batchJob() {
return jobBuilderFactory.get("batchJob")
.start(step1())
// step1이 성공한다면 step3 실행
.on("COMPLETED").to(step3())
// step1이 실패한다면 step2 실행
.from(step1())
.on("FAILED").to(step2())
.end()
.build();
}
참고 :
- https://velog.io/@code12/Spring-Batch-Spring-Batch-Job-Flow
- https://junlab.tistory.com/273
- https://heekng.tistory.com/177
'programming > SpringBoot' 카테고리의 다른 글
SpringBoot 프로젝트 배포 (0) | 2022.04.21 |
---|---|
gradle 라이브러리 추가 오류 (0) | 2022.02.24 |
댓글