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

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

우파님의 프로필 이미지
우파

작성한 질문수

스프링 배치

JobExecution

Jobinstance 중복실행

작성

·

514

1

안녕하세요
Jobinstance가 중복실행되는걸 막아주는 역할에 관해 질문이 있습니다.
예를들어 매일실행되는 배치가 있고
targetDate라는 파라미터를 입력받아 수행됩니다.
그런데
오늘일자로 targetDate = 20211027 를 입력받아서 수행되었는데
다시한번 targetDate = 20211027를 입력받아서 수행해야되는경우는 어떻게 처리하면 되는걸까요?

답변 1

2

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

원칙적으로는 동일 파라미터로 호출은 안됩니다.

다만 Job 이 실패할 경우에는 동일한 파라미터로  다시 재시작이 가능합니다.

만약 Job 이 성공적으로 종료한 상태에서 동일 파라미터로 실행을 하기 위해서는 JobParametersIncrementer 를 사용해서 단순한 순번을 증가하는 파라미터를 추가해서 실행하도록 합니다.

그렇게 되면 필수 파라미터는 동일한 값으로 전달하면서 재시작을 위한 순번 파라미터가 추가되어 결론적으로는 동일한 파라미터가 되지 않도록 하는 방법입니다.


강의 중 
JobParametersIncrementer 챕터가 있으니 참고하시기 바랍니다

우파님의 프로필 이미지
우파

작성한 질문수

질문하기