스프링배치 완료된 파라미터가 이미 존재합니다 에러가 발생했습니다 재질문드립니다
- 작성자 :
- u****e
- 작성일 :
- 2021-03-08 17:50:13
- 조회수 :
- 4,500
- 구분 :
- 실행환경 / 4.0
- 진행상태 :
- 완료
Q
배치가 정상 작동함을 확인한 후 현재 서버에 올려놓은 상태입니다
코드를 수정한 후 push 를 하니 서버가 재구동되면서,
push 이전 마지막 실행된 파라미터를 가져와서 다시 날리고는 이미 실행된 파라미터라는 에러가 발생합니다
한 커뮤니티에서 아래와 같은 답을 받았습니다
[ 2021년 10시 21분에 배치가 실행된 상태에서 다시 이 배치를 사용하게 되면 Spring Batch는 이 Batch를 실행하기 위해 2021년 10시 21분이란 파라미터 데이터 값을 다시 넣을려고 시도할껍니다
그 과정에서 이미 저 파라미터가 들어간 배치실행 결과 데이터가 있는데 왜 또 들어오지? 하는 판단에 저런 오류가 나오는거죠
이 부분을 해결할려면 Spring Batch가 사용하는 테이블에서 해당 배치에 대한 부분을 재조정하셔야 할겁니다 ]
실제로 위의 답과 같이 실행되는 것이 맞나요?
맞다면 이런 경우, 어떤 식으로 코드를 수정해야 push를 하더라도 배치가 정상 구동되도록 할 수 있을까요?
코드를 수정한 후 push 를 하니 서버가 재구동되면서,
push 이전 마지막 실행된 파라미터를 가져와서 다시 날리고는 이미 실행된 파라미터라는 에러가 발생합니다
한 커뮤니티에서 아래와 같은 답을 받았습니다
[ 2021년 10시 21분에 배치가 실행된 상태에서 다시 이 배치를 사용하게 되면 Spring Batch는 이 Batch를 실행하기 위해 2021년 10시 21분이란 파라미터 데이터 값을 다시 넣을려고 시도할껍니다
그 과정에서 이미 저 파라미터가 들어간 배치실행 결과 데이터가 있는데 왜 또 들어오지? 하는 판단에 저런 오류가 나오는거죠
이 부분을 해결할려면 Spring Batch가 사용하는 테이블에서 해당 배치에 대한 부분을 재조정하셔야 할겁니다 ]
실제로 위의 답과 같이 실행되는 것이 맞나요?
맞다면 이런 경우, 어떤 식으로 코드를 수정해야 push를 하더라도 배치가 정상 구동되도록 할 수 있을까요?
환경정보
-
- OS 정보 : Linux
- JDK(JRE) 정보 : 1.8
- WAS 정보 : apache tomcat
- DB 정보 : MySQL
- 기타 환경 정보 :
A
안녕하세요.
표준프레임워크센터입니다.
말씀하신대로 실행하여 성공된 JOB 또는 STEP은 이후에 재실행될 경우(동일한 job인스턴스) 실행되지 않고 무시(NOOP)처리됩니다. (중복실행방지차원)
이전 JOB, STEP이 성공을 하였더라도 무조건 재실행을 하고 싶으신경우,
JOB 설정옵션중에 RESTARTABLE 속성값과 STEP의 allow-start-if-complete 속성값을 조정하여 배치를 다시 실행하실 수 있습니다.
아래 위키가이드를 참조하여 사용해보시길 바랍니다.
JOB설정 가이드
https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:brte:batch_core:job_v3.7
STEP설정 가이드
https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:brte:batch_core:step_v3.7
감사합니다.
표준프레임워크센터입니다.
말씀하신대로 실행하여 성공된 JOB 또는 STEP은 이후에 재실행될 경우(동일한 job인스턴스) 실행되지 않고 무시(NOOP)처리됩니다. (중복실행방지차원)
이전 JOB, STEP이 성공을 하였더라도 무조건 재실행을 하고 싶으신경우,
JOB 설정옵션중에 RESTARTABLE 속성값과 STEP의 allow-start-if-complete 속성값을 조정하여 배치를 다시 실행하실 수 있습니다.
아래 위키가이드를 참조하여 사용해보시길 바랍니다.
JOB설정 가이드
https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:brte:batch_core:job_v3.7
STEP설정 가이드
https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:brte:batch_core:step_v3.7
감사합니다.