본문 바로가기

- Spring

[Spring Batch] If you want to run this job again, change the parameters.

반응형

이전에 스프링 배치의 기본 개념을 설명한 글에서

JobParameter에 대한 간단한 설명을 한 적이 있습니다.

https://halfstorage.tistory.com/31?category=857145

 

스프링 배치 기본 개념

스프링 배치는 스프링에서 기본적으로 제공하는 일괄처리를 위한 기능입니다. - Job 하나의 배치 작업을 Job이라고 하며, Job은 최소 하나 이상의 Step을 수행해야합니다. - JobInstance Job��

halfstorage.tistory.com

 

"JobInstance와 JobParameters는 1:1 관계입니다."

 

1:1 관계를 지키지 않고 Job을 실행시키게 되면 처음 동작할 Job은 1:1 관계임으로 정상 동작하지만

두 번째 동작할 때부터는 아래와 같은 에러가 발생합니다.

 

If you want to run this job again, change the parameters.

 

파라미터가 같기 때문에 같은 잡을 또 실행시키고 싶다면

파라미터를 변경하라는 내용입니다.

 

파라미터가 매번 변경된다면 별 이상이 없으나,

동일한 파라미터로 매일 데이터를 수집한다면 아래와 같이 간단하게 날짜를 추가하여 해결할 수 있습니다.

 

해당 메서드(setJobParam)는 JobLauncher에서 사용합니다.

 

반응형