본문 바로가기

강의/스프링배치

스프링 배치 - DB 스키마 생성 (2)

 

JOB 관련 테이블

 

batch_job_instance

- job이 실행될 때 jobinstance 정보가 저장되며 job_name과 job_key를 키로 하여 하나의 데이터가 저장
- 동일한 job_name과 job_key로 중복 저장될 수 없다.

 

BATCH_JOB_EXECUTION

- job의 실행정보가 저장되며 Job 생성, 시작, 종료 시간, 실행 상태, 메세지 등을 관리

 

BATCH_JOB_EXECUTION_PARAMS

- Job과 함께 실행되는 Job parameter 정보를 저장

 

BATCH_JOB_EXECUTION_CONTEXT

- job의 실행동안 여러가지 상태정보, 공유 데이터를 직렬화 9Json 형식) 해서 저장
- step간 서로 공유 가능함

 

Step 관련 테이블

 

BATCH_STEP_EXECUTION

- step의 실행정보가 저장되며, 생성, 시작, 종료시간, 실행상태, 메시지 등을 관리

 

BATCH_STEP_EXECUTION_CONTEXT

- Step의 실행동안 여러가지 상태정보, 공유 데이터를 직렬화 (Json 형식) 해서 저장
- Step 별로 저장되며 Step간 서로 공유할 수 없음

 

 

 

JOB_KEY는 Job instance를 식별할 수 있는 key라고도 할 수 있다.

 

 

job instance id 와 job execution id는 1대다 관계이바.

job이 실패했을 때 재 실행을 한다면

job instance는 1개 job execution id는 2개가 되는 것이다.

 

 

 

SHORT_CONTEXT는 공유할 데이터를 map 안에 저장할 수 있다. (step 간 공유를 위한 데이터 들을 저장할 수 있다.)

 

아래 그림은 1개의 job에 2개의 step이 있는 경우이다.