DevBoi

[Spring Batch] Meta Tables 본문

Develop/[Spring Batch]

[Spring Batch] Meta Tables

HiSmith 2022. 4. 10. 11:50
반응형

Spring Batch의 구조를 살펴봤을떄 Job repostiory라는 것이 있었다.

이 부분에 대한 상세 포스팅을 하겠다.

 

<간단 ERD>

 

 

 

총 6개의 테이블이 존재한다.

  • BATCH_JOB_INSTANCE
  • BATCH_JOB_EXECUTION
  • BATCH_JOB_EXECUTION_PARAMS
  • BATCH_JOB_EXECUTION_CONTEXT
  • BATCH_STEP_EXECUTION
  • BATCH_STEP_EXECUTION_CONTEXT

 

<Batch Job Instance> - 배치 Job의 생성 정보를 담는 테이블이다.

 

 

<BATCH_JOB_EXECUTION> - Job의 실행 정보를 담는 테이블이다. Job의 수행여부를 profiling 할 수 있다.

 

 

 

<BATCH_JOB_EXECUTION_PARAMS> - Job 실행시 사용했던 파라미터에 대한 정보를 담아두는 테이블 이다.

 

 

 

<BATCH_JOB_EXECUTION_CONTEXT> - 작업중 사용되는 모든 정보가 기록되는 Job의 Context를 저장하기 위한 테이블이다.
Job Execution 하나당 하나의 Context를 가질수 있고, 해당 Context는 JobScope 내에서 공유가 가능하다.


 

 

 

  • BATCH_STEP_EXECUTION

Step 의 실행 정보가 저장되는 테이블이다. Job ExeCution 하위에 테이블이 저장이 되고, 

해당 하위에서 Job 별로 실행한 step에 대한 상세 실행 정보를 알 수 있다.

<BATCH_STEP_EXECUTION_CONTEXT> - Step Execution 마다 생성되는 Context를 저장하기 위한 테이블
Job Execution- context와 동일하게 실행시에 생성되는 Context를 저장할 수 있고, StepScope내 동일 context의 데이터를 
공유 할 수 있다. Step Execution 마다 하나의 Context를 가진다.

 

 

 

반응형