[CS/데이터처리] 스프링 배치 - 20부

황제연·2025년 9월 8일
0

CS학습

목록 보기
192/193
post-thumbnail

SimpleJob 흐름도

JobLauncher에서 SimpleJob을 실행하기 위해 Jobparameters, JobInstance, JobExecution을 설정합니다
이때, JobExecution의 ExecutionContext에서 배치상태를 STARTED로 설정합니다
updateStatus(execution, BatchStatus.STARTED);

SimpleJob에서는 Joblistener를 통해 Job 실행 전 JobExecutionListener를 호출합니다
JobExecutionListnere.beforeJob()

각 Step별 Taslet을 반복해서 실행하며, 그 실행은 StepExecution과 ExecutionContext에 담깁니다

Job이 실행한 후에는 JobExecutionListener를 호출하며
JobExecutionListener.afterJob()

최종 JobExecution에서는 작업상태를 마지막 Step 단계와 동일하게 업데이트합니다

if(stepExecution != null){
	execution.upgradeStatus(stepExecution.getStatus());
	execution.setExitStatus(stepExecution.getExitStaus());
}

클래스 상속관계도 - 아키텍처

JobBuilderFacotry 
--> JobBuilderHelper <-> CommonJobProperties
--> JobBuilderHelper <-> AtomicReference<JobRepository>
	<-- SimpleJobBuiler - SimpleJob
	<-- JobBuilder -> FlowJobBuilder -> FlowJob
	<-- FlowJobBuilder

참고

  • 스프링 배치 - 정수원 인프런 강의
profile
Software Developer

0개의 댓글