본문 바로가기

Web/Spring

맨땅에 Spring Batch - Job 그리고 Step

728x90
반응형

Spring Batch를 접하면 가장 많이 만나는 녀석들 Job과 Step을 알아보자

 

우선 Spring Batch Domain을 정리해 보면

 

출처 : https://velog.velcdn.com/images/wnguswn7/post/f47ec974-633d-4dc9-9084-46efb77e2cf1/image.PNG

 

출처 : https://velog.velcdn.com/images/wnguswn7/post/b3a11ddf-6751-4673-acba-a0d86332f454/image.PNG

JobLauncher

  • JobLauncher는 Job과 JobParameters를 사용하여 Job을 실행하는 객체이다.

Job

  • 배치 처리 과정을 하나의 단위로 만들어 표현한 객체
  • Job 이름 정의
  • Step의 실행 순서 정의
  • Job의 재사용 가능성을 정의

 JobInstance

  • Job이 실행될 때 생성되는 Job의 논리적 실행 단위 객체로써 고유하게 식별 가능한 작업 실행
  • JobPrameters를 이용하여 구분
  • Job : JobInstance = 1 : *

 JobExecution

  • JobInstance의 실행 결과 객체
  • 실패했던 JobInstance에 대해 새로운 실행을 하면 새로운 JobExecution이 생성JobExecution Properties
  • BatchStatus : 실행 상태 (stared : 실행중, failed : 실패, completed : 성공)
  • ExitStatus : 실행 결과 상태.

Step

  • Step은 실질적인 배치 처리를 정의하고 제어하는 데 필요한 모든 정보가 들어 있는 도메인 객체이다.
  • Batch를 처리하고 정의하는 모든 정보를 포함
  • Step의 내용은 개발자의 재량으로 복잡하거나 단순하게 구현 가능
  • 고유한 JobExecution과 관련된 개별 StepExecution 존재

  StepExecution

  • Status : 실행 상태
  • ExitStatus : 실행 결과 상태

JobRepository

  • Job, Step 구현을 위한 CRUD 작업을 제공
  • JobLauncher, Job, Step에 대한 실행 정보를 저장

 

 

아직 갈 길이 멀다,,,

728x90
반응형

'Web > Spring' 카테고리의 다른 글

맨땅에 Spring Batch - Task 그리고 Chunk  (0) 2024.01.16
맨땅에 Spring Batch - Item  (0) 2024.01.16
맨땅에 Spring Batch - Meta Table  (0) 2024.01.16
맨땅에 Spring Batch - 설정  (0) 2024.01.16
맨땅에 Spring Batch  (0) 2024.01.16