1. 기본 개념
•
Step에 대한 한번의 시도를 의미하는 객체로서 Step 실행 중에 발생한 정보들을 저장하고 있는 객체
◦
시작시간, 종료시간, 상태(시작됨, 완료, 실패), commit count, rollback count 등의 속성을 가짐
•
Step이 매번 시도될 때마다 생성되며 각 Step별로 생성됨
•
Job이 재시작하더라도 이미 성공적으로 완료된 Step은 재실행되지 않고 실패한 Step만 실행됨
•
이전 단계 Step이 실패해서 현재 Step을 실행하지 않았다면 StepExecution을 생성하지 않음. Step이 실제로 시작됐을때만 StepExecution을 생성
•
JobExecution과의 관계
◦
Step의 StepExecution이 모두 정상적으로 완료되어야 JobExecution이 정상적으로 완료됨
◦
Step의 StepExecution 중 하나라도 실패하면 JobExecution은 실패
2. BATCH_STEP_EXECUTION 테이블 매핑
•
JobExecution과 StepExecution은 1:M 관계
•
하나의 Job에 여러 개의 Step으로 구성했을 경우 각 StepExecution은 하나의 JobExecution을 부모로 가짐