인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

김대호님의 프로필 이미지
김대호

작성한 질문수

스프링 배치

Retry (3)

DefaultRetryState를 넣어주면 recover가 호출되지 않는건가요?

해결된 질문

작성

·

216

0

안녕하세요 강사님 28:08 인근 내용 보다가 질문드립니다.

RetryState를 넣어주면 chunk 초입으로 가서 재시작한다고 이해했습니다.

그래도 retrycount가 소진되면 recover가 호출되는건 동일한것으로 이해하고 있었는데요

recover로직에는 예외발생할 부분이 없는데 어째서 job이 실패한것으로 처리된건지 궁금합니다

 

답변 1

1

정수원님의 프로필 이미지
정수원
지식공유자

강의를 보시면 RetryTemplate 설정이 두개가  있습니다.

하나는 스프링 배치에서 설정한 것이고 하나는 커스텀하게 설정한 것입니다.

위에서 오류가 난 부분은 커스텀 RetryTemplate 에서 발생한 것이 아니라 스프링 배치에서 정의한 

RetryTemplate 에서 오류가 발생한 것입니다.

커스텀 RetryTemplate 에서는 recovery 에서는 예외가 없지만 기본 RetryTemplate  에서는 skip 기능이 없을 경우 recovery 에서는 예외가 발생하고 있습니다.

28:08 이후의 강의 내용을 찬찬히 다시 보시면서 전체 흐름을 이해해 보시길 바랍니다.

 

김대호님의 프로필 이미지
김대호

작성한 질문수

질문하기