[SpringBatch] Batch Core Domain 용어 익히기

stanley.·2024년 12월 3일
0

개요

스프링 배치에서 사용하는 도메인 용어에 대해 알아보도록 하자.

Job

  • 전체 배치 프로세스를 캡슐화한 도메인
  • 단순히 step 인스턴스를 위한 컨테이너
  • job의 구성
    - Job의 이름
    • step 정의 및 순서
    • 작업을 다시 시작할 수 있는지 여부

JobInstance

  • Job의 논리적 실행 단위를 나타내는 도메인
  • 하나의 Job은 여러개의 JobInstance를 가진다.
  • 구성 요소
    - job의 이름
    - 식별 파라미터 (JobParameter)
  • 배치의 메타테이블인 BATCH_JOB_INSTANCE 테이블에 저장된다.

JobParameter

  • job 실행시 함께 사용되는 파라미터 도메인
  • 하나의 job에 존재하는 여러개의 jobInstance를 구분
  • BATCH_JOB_EXECUTION_PARAMS 메타 테이블에 저장

JobExecution

  • Job 단일 실행에 대한 도메인
  • Job 실행 중 실제로 일어난 일에 대한 기본 저장 메커니즘

  • BATCH_JOB_EXECUTION 저장
  • Job의 실패원인에 대해 분석할 수 있다.

Step

  • 배치 작업이 독립적이고 순차적인 단계를 캡슐화한 도메인
  • 한 개의 잡은 한 개 이상의 스텝을 가짐
  • 입력 자원을 설정하고 어떤 방법으로 어떤 과정을 통해 처리할지, 어떻게 출력 자원을 만들 것인지에 대한 모든 설정

StepExecution

  • 스텝의 단일 실행에 대한 도메인
  • 스텝의 실행 중에 실제로 일어난 일에 대한 기본 저장 메커니즘

  • BATCH_STEP_EXECUTION 메타 테이블에 저장된다.

ExecutionContext

  • 배치의 실행 시점을 저장하기 때문에 실패 시 실패 지점을 저장하고 실패지점부터 재시작할 수 있도록 한다.

MetaData

  • 스프링 배치를 사용하기 위한 메타 데이터들이 저장되는 메타 테이블은 위와 같다.
profile
🖥 Junior Developer.

0개의 댓글