worldforest 2023. 4. 23. 15:57

용어정리

Job

배치 처리 과정을 하나의 단위로 만들어 놓은 객체

배치 처리 과정의 전체 계층 최상단에 위치

 

JobInstance

Job의 실행 단위

Job 실행 시 하나의 JobInstance가 생성

 

JobParameters

Job Instance를 구분할 수 있도록 해주는 객체

Job Instance에 전달되는 매개변수 역할도(String ,Double, Long, Datae 형식만 제공)

 

JobExecution

Job Instance에 대한 실행 시도(상태, 시작시간, 종료시간, 생성시간 등)

Job instance 실행 실패 시 같은 Job instance를 실행시키지만 그에 따른 Job Execution은 각각 생성

 

Step

Job의 배치처리를 정의, 순차적인 단계를 캡슐화

최소 한 개 이상의 step을 가져야 함.

Job의 실제 일괄 처리를 제어하는 모든 정보가 있음

 

StepExecution

step 실행시도에 대한 객체

Job이 여러 개의 step으로 생성된 경우 이전 단계 step이 실패하면 다음 단계 실행되지 않으므로 Step Execution도 생성되지 ㅇ낳음

(read, write, commit, skip 수에 대한 정보)

 

ExecutionContext

Job에서 데이터 공유할 수 있는 데이터 저장소

JobExecutionContext : commit 시점에 저장

StepExecutionContext : 실행 사이에 저장

step간 데이터공유 가능

Job 실패 시 ExecutionContext를 통해 마지막 실행값을 재구성

 

JobRepository

모든 배치 처리 정보 담고있는 매커니즘

Job 실행 시 JobRepository에 JobExecution과 StepExecution을 생성

JobRepository에서 Execution 정보를 저장하고 조회하고 사용함

 

JobLauncher

Job과 JobParameters를 사용해 Job을 실행하는 객체

 

ItemReader

Step에서 Item을 읽어오는 인터페이스

 

ItemWriter

처리된 데이터를 작성할 때 사용(insert, update, send 등)

item을 chunk로 묶어서 처리

 

ㄹㄹㄹ

reader에서 읽어온 item을 데이터 처리하는 역할

배치처리에 필수요소는 아니며 reader, writer, processor 처리를 분리해 각 역할을 명확히 구분

반응형