인프런 커뮤니티 질문&답변

whjang님의 프로필 이미지

작성한 질문수

스프링 배치

ExecutionContext

동일한 JobInstance에 대해서는 JobExecution이 복사가 되나요?

작성

·

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를 공유한다는 말일까요?

물론 동작은 그렇게 하긴 합니다만, 명확히 하고싶어 재질문 드립니다

 

감사합니다

 

whjang님의 프로필 이미지

작성한 질문수

질문하기