• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

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

22.05.25 11:48 작성 조회수 132

0

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

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

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

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

 

답변 1

답변을 작성해보세요.

1

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

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

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

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

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

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