작성
·
417
0
안녕하세요? 공유자님의 강의 잘 보고 있습니다
스프링 배치 도메인 이해 - ExecutionContext 영상의 41:46부분을 보면 jobInstance는 하나이지만 JobExecution은 똑같은 데이터로 로우가 하나 더 생겼습니다.
이같은 경우는 jobExecution2가 jobExecution1의 데이터를 기반으로 실행되고 DB에 복제되어 저장되었다고 보는게 맞을까요?
답변 2
0
안녕하세요 저도 같은 의문을 가져 문의 드립니다.
step1, step2 성공후 step3에서 실패하고
step3, 부터 job이 재시작 되어, jobExecution2 이 하나더 생성되는 것은 알고있습니다.
그런데 jobExecution2은 기존에 존재하던, jobExecution1
과 excutionContext를 공유한다는 말일까요?
물론 동작은 그렇게 하긴 합니다만, 명확히 하고싶어 재질문 드립니다
감사합니다
0
네
JobExecution 은 Job 이 실행될 때 마다 새롭게 생성되는 클래스입니다.
강의에서 보면 Job 이 처음 실행되어 JobExecution1 이 생성 되었는데 Job 이 실패했기 때문에 재시작이 가능했던 것이고 그래서 Job 을 다시 실행해서 JobExecution2 가 생성 된 것입니다.
그리고 JobExecution 은 이전의 값을 복제하는 것이 아닌 Job 의 실행 정보를 새롭게 저장합니다.
물론 Job 의 실행정보가 동일하다면 Job 이 여러번 실행되더라도 JobExecution 의 테이블 키를 제외하고는 동일한 값들이 저장됩니다.
안녕하세요 저도 같은 의문을 가져 문의 드립니다.
step1, step2 성공후 step3에서 실패하고
step3, 부터 job이 재시작 되어, jobExecution2 이 하나더 생성되는 것은 알고있습니다.
그런데 jobExecution2은 기존에 존재하던, jobExecution1
과 excutionContext를 공유한다는 말일까요?
물론 동작은 그렇게 하긴 합니다만, 명확히 하고싶어 재질문 드립니다
감사합니다