반응형

[스프링/Spring] 스프링 배치(Spring Batch) DB를 통한 플로우를 정리한다.


스프링 배치(Spring Batch) DB를 통한 플로우

1. Job Launcher를 통해 스프링 배치(Spring Batch) Job 실행

 

2. BATCH_JOB_INSTANCE 테이블에서 해당하는 스프링 배치(Spring Batch) Job의 JOB_KEY와 JOB_NAME이 같은게 있는지 확인한다. (여기서, JOB_KEY와 JOB_NAME, JOB Parameter 까지 비교해야 한다.)

- job key와 job name이 같고, 생성되는 잡 인스턴스는 시간에 따라 계속 생성할 수 있기 때문에.

 

3. 확인 후, 동일한 JOB_KEY와 JOB_NAME이 있으면 종료하고, 없으면 계속 진행한다.

- 에러 메시지 : JobInstance must not already existm 출력

 

4. BATCH_JOB_INSTANCE 테이블에 동일한 JOB_INSTANCE가 없으므로, BATCH_JOB_INSTANCE 테이블에 JOB_INSTANCE 생성한다.(JOB_INSTANCE_ID 생성)

 

5. BATCH_JOB_EXECUTION 테이블에서 JOB_INSTANCE ID의 맨 마지막 ROW에서 JOB_INSTANCE의 상태(STATUS)가 COMPLETED가 아닐 경우 즉, FAILED일 경우에는 다시 시작하고, 그게 아닐 경우에는 에러 메시지를 출력하여 종료한다.(여기서 종료시키지 않으면, 이미 실행한 JOB이 다시 실행된다.)

 

6. BACTH_JOB_EXECUTION 테이블에서 동일한 JOB_INSTANCE_ID가 없으면 JOB_EXECUTION 생성(JOB_EXECUTION_ID 생성)

 

7. 해당하는 JOB의 STEP 실행

 

8. 종료


위의 2번부터 5번까지 왜 그러는지 이해가 되지 않는다면 아래의 링크에서 글을 보면 좋다.

https://yongku.tistory.com/entry/%EC%8A%A4%ED%94%84%EB%A7%81-%EB%B0%B0%EC%B9%98Spring-Batch%EC%99%80-Quartz?category=893456 

 

스프링 배치(Spring Batch)와 Quartz

츄르사려고 코딩하는집사입니다. Spring Batch 1. Spring Batch 정의 및 특징 1) Spring Batch는 Spring Framework의 3대 요소인 DI, AOP, 서비스 추상화 + Batch Application의 특성을 포함 2) Spring Batch는 L..

yongku.tistory.com


스프링 배치(Spring Batch) 관련 DB TABLE

1. BATCH_JOB_EXECUTION

- 스프링 배치(Spring Batch) Job의 실행 결과가 저장이 된다.

- 스프링 배치(Spring Batch) Job의 실행결과(성공, 실패)의 데이터가 저장된다.

 

2. BATCH_JOB_EXECUTION_CONTEXT

- 스프링 배치(Spring Batch) Job이 실행되면서, JOB에 관한 정보들이 저장되는 곳이다.

 

3. BATCH_JOB_EXECUTION_PARAMS

- 스프링 배치(Spring Batch) Job의 파라미터가 저장되는 곳이다.

 

4. BATCH_JOB_INSTANCE

- 스프링 배치(Spring Batch) Job이 실행되면, JOB INSTANCE가 생성되는 곳이다.

- JOB_INSTANCE 생성

 

5. BATCH_STEP_EXECUTION

- 스프링 배치(Spring Batch) Job에 해당하는 STEP의 실행 결과가 저장이 된다.

- 스프링 배치(Spring Batch) Job의 해당하는 STEP의 실행결과(성공, 실패)의 데이터가 저장된다.

 

6. BATCH_STEP_EXECUTION_CONTEXT

- BATCH_JOB_EXECUTION_CONTEXT와 마찬가지로, 스프링 배치(Spring Batch) Job에 해당하는 STEP이 실행되면서, STEP에 관한 정보들이 저장되는 곳이다.


참고자료

https://www.fwantastic.com/2019/12/spring-batch-2-metadata-jobrepository.html

 

[Spring Batch] 스프링 배치 강좌 2. Metadata와 JobRepository 알아보기

 

www.fwantastic.com

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기