배치 기본 용어

본 장에서는 배치 커스터마이징시 필요한 배치의 기본 용어에 대해서 간단하게 기술하여 배치 프레임워크 커스터마이징을 쉽게 진행 할 수 있도록 하고 있다.

배치 용어
용어 설명

Job

어떠한 작업을 끝내기 위해 시작부터 끝까지 프로그램에서 하나의
묶음으로 된 일을 의미하며, Spring Batch에서 Job은 Step을 위한 컨테이너를
의미한다.

JobInstance

Job 실행의 개념으로서 배치 Job의 실행 단위이다.

JobInstance는 실행 시 입력되는 파라미터와 밀접하게 연관되어 있으며,
입력되는 파라미터를 기준으로 새로 시작 혹은 재시작을 처리할 수 있다.

JobParameters

JobInstance의 구분하는 식별 단위로서, 배치 실행 시 입력되는 파라미터를
의미한다.

즉 Job Instance는 Job 과 Job Parameters의 조합을 의미한다.

JobExecution

배치 실행 시 단 한번 시도되는 Job의 실행 단위를 의미한다.

배치 실행이 성공이 되면 JobExecution에 대응되는 JobInstance가 완료
처리게 되고, 실패를 하면 JobInstance가 실패 처리가 된다. 실패가 된 Job을
다시 실행하면 JobInstance에 대응되는 JobExecution이 새롭게 실행이 된다.

다르게 말하면 Job Instance 에는 여러 개의 JobExecution 이 생성 될 수
있다는 것을 의미한다.

Step

Step은 배치Job을 처리하는 과정 및 제어의 단계를 의미하며,모든 배치 Job은
하나 이상의 Step 들로 구성이 된다.

여기서 Step은 순차적으로 실행되는 처리과정의 흐름이라고 보면 된다.

StepExecution

배치 실행 시 단 한번 실행되는 Step의 실행 단위를
의미하며, JobExecution에 대응이 되는 개념으로 보면 된다.

ExecutionContext

ExecutionContext는 JobExecution이나 StepExecution 범위에서 상태를
저장하기 위하여 프레임워크에 의해서 영속화되고, 제어되는 Key=Value 의
Collection으로 표현이 된다.

해당 ExeuctionConext는 재시작 혹은 step 간에 데이터 전달 시 사용 될 수
있다.

참고로 재시작 시에는 저장되어있는 ExecutionContext값을 읽어와 복구처리를
한다.

Item

배치를 처리하기 위한 데이터의 최소 단위를 의미한다.

ItemReader

Step에서 입력처리하기 위한 Interface로서 DB, 파일 등에서
Read한 데이터(Item)를 ItemProcessor로 전달하는 역할을 한다.

ItemProcessor

ItemReader에서 전달받은 데이터(Item)을 비즈니스 로직을
처리를 할 수 있는 Processor로서 처리한 결과를 ItemWriter로 전달하는
역할을 한다.

ItemWriter

전달받은 데이터(Item)을 DB, 파일 등으로 Write 처리하는
역할을 한다.

Copyright© Bankwareglobal All Rights Reserved.