cli에서 job parameter 입력 방법

jaycee·2023년 11월 29일
0

goal

cli에서 job parameter를 전달한다.

사전 지식

spring batch를 실행하는 방법은 크게 두 가지가 있다.
(1) cli나 launcher.run을 통해 외부 요청으로 on-demand로 실행하는 방법
(2) @Schudled 어노테이션에 스케쥴 정보를 입력하여 일정 주기로 실행하는 방법

스케줄과 실행을 외부에 위임할 수도 있다.

cli를 이용해서 실행하도록 할 때는 @Schudled를 없애고 cli 명령어를 이용한다. 그리고 cli에서 job parameter 또한 입력하도록 한다.

job parameter 전달 방법

IntelliJ 기준

launch configuration → Modify options → Program arguments 클릭

environment로 전달하면 스프링 부트 파라미터로 처리되어 프로그램에서 자바 파라미터로 인식하지 않으므로 주의!

추가된 칸에 입력할 파라미터 param1=value1 형태로 입력 (requestDate=20231127)

☕️ java jar 실행 기준

실행할 job name과 job pareameter를 입력해준다.

java jar my-application.jar --job.name=someJob requestDate=20230101

💡 어떤 경우에 파라미터에 대시를 두 번 붙이고 어쩔 땐 아무것도 안붙일까?

  • java 파라미터는 대시를 붙이지 않는다. requestDate=20230101
  • jvm 파라미터는 대시를 한번 붙이고 D를 붙여준다. -Xms2G -Xmx5G
  • spring boot 환경변수 파라미터는 대시를 두 번 --job.name=someJob

🐳 docker 기준

대시를 붙이지 않고 그냥 적어주면 자바에서 실행하는 것과 동일하게 파라미터를 전달할 수 있다.

docker run 0****0.dkr.ecr.ap-northeast-2.amazonaws.com/my-application:latest-dev --job.name=someJob requestDate=20230101
profile
오늘도 하나 배웠다.

0개의 댓글

관련 채용 정보