JOB, JOB_INSTANCE, JOB_EXCUTION

  • ERD

ERD

BATCH_JOB_INSTANCE

  • JOB_INSTANCE_ID
    • BATCH_JOB_INSTANCE 테이블의 PK
  • JOB_NAME
    • 수행한 Batch Job Name

BATCH_JOB_INSTANCE 테이블은 Job Parameter에 따라 생성되는 테이블

Job Parameter = Spring Batch가 실행될때 외부에서 받을 수 있는 파라미터 = Program Arguments

같은 Batch Job 이라도 Job Parameter가 다르면 Batch_JOB_INSTANCE에는 기록되며,
Job Parameter가 같다면 기록되지 않는다.

BATCH_JOB_EXECUTION

JOB_EXECUTION와 JOB_INSTANCE는 부모-자식 관계이다.
JOB_EXECUTION은 자신의 부모 JOB_INSTACNE성공/실패했던 모든 내역을 갖고 있다.

동일한 Job Parameter로 2번 실행하여도 같은 파라미터로 실행되었다는 에러가 발생하지 않는다!

! Spring Batch는 동일한 Job Parameter로 성공한 기록이 있을때만 재수행이 안된다.

정리

ERD

추가로 BATCH_JOB_EXECUTION_PARAM은 BATCH_JOB_EXECUTION 테이블이 생성될 당시에 입력 받은 Job Parameter를 담고 있다.

Share :

Comments