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이 있는 경우이다.
'강의 > 스프링배치' 카테고리의 다른 글
스프링 배치 도메인 이해 - JobExecution (0) | 2022.12.27 |
---|---|
스프링 배치 도메인 이해 - Job + JobInstance + JobParameter (0) | 2022.12.27 |
스프링 배치 시작 - DB 스키마 생성 및 이해 (1) (0) | 2022.12.25 |
스프링 배치 시작 - 연습용 배치 생성 (0) | 2022.12.24 |
spring batch - 프로젝트 구성 및 의존성 설정 (0) | 2022.12.24 |