본문 바로가기

Spring Batch

Job Instance란?

1. 기본개념

  • Job 이 실행될 때 생성되는 Job 의 논리적 실핼 단위 객체로서 고유하게 식별 가능한 작업 실행을 나타냄.
  • Job 의 설정과 구성을 동일하지만 Job 이 실행되는 시점에 처리하는 내용은 다르기 때문에 Job 의 실행을 구분해야 함.
    • 예들 들어 하루에 한 번씩 배치 Job 이 실행된다면 매일 실행되는 각각의 Job 을 Instance 로 표현한다.
  • JobInstance 생성 및 실행
    • 처음 시작하는 Job + JobParameter 일 경우 새로운 JobInstance 생성
    • 이전과 동일한 Job + JobParameter 으로 실행 할 경우 이미 존재하는 JobInstace 리턴
      • 내부적으로 JobName + JobKey (JobParameter 의 해시값)를 가지고 JobInstance 객체를 얻음
  • Job 과는 1:N 관계

2. BATCH_JOB_INSTANCE 테이블과 매핑

  • JOB_NAME과 JOB_KEY가 동일한 데이터는 중복해서 저장할 수 없음

3. 코드로 실행해보기

1. Job, Step 등록

 

2. JobParameter 생성하여 실행하기

 

3. 실행 결과

 

4. 중복 실행 시

 

'Spring Batch' 카테고리의 다른 글

StepExecution 이란?  (0) 2022.03.05
Step 이란?  (0) 2022.03.01
JobExecution 이란?  (0) 2022.03.01
JobParameter 란?  (0) 2022.03.01
Job이란?  (0) 2022.02.27