Spring Batch - JobParameters Default Value 만들기
Spring batch에서 JobParameters에 입력되지 않은 값에 대한 default value를 설정 해야 할때는 아래와 같이 하자.
<property name="userId" value="#{jobParameters['userId']==null?'-':jobParameters['userId']}"></property>
위의 userId 속성 값 지정을 jobparameters로 di받아서 사용하는데.
위 방식으로 하면 userId가 입력 되지 않았을 경우, 즉 null인 경우 '-' 로 설정 되고, 입력되었을 경우 값이 전달 된다.
다른 방식은 SpEL를 더 찾아봐야 겠지만...나의 요구 사항은 여기 까지 ^^
<property name="userId" value="#{jobParameters['userId']==null?'-':jobParameters['userId']}"></property>
위의 userId 속성 값 지정을 jobparameters로 di받아서 사용하는데.
위 방식으로 하면 userId가 입력 되지 않았을 경우, 즉 null인 경우 '-' 로 설정 되고, 입력되었을 경우 값이 전달 된다.
다른 방식은 SpEL를 더 찾아봐야 겠지만...나의 요구 사항은 여기 까지 ^^
훌륭하십니다.
답글삭제@Value("#{jobParameters[requestDate]}") String requestDate 관련 혹시 아래와 같은 경우 어떻게 해야 하는지 문의 드립니다.
test1. 잡파라미터 requestDate 세팅하고 배치 실행하면 세팅한 파라미터 값이 잘 확인됩니다.(정상)
test2. 잡파라미터 requestDate 세팅하지 않으면 파라미터 값이 null 일 거라고 추측했지만 실제는 이전 배치에 사용한 파라미터 값이 세팅되어 배치앱 입장에서 파라미터를 세팅 한 경우와 세팅하지 않은 경우를 구별할 방법이 없네요. 혹시 구별할 방법이 있을까요?