IT 공부/SPRING BATCH

[Spring Batch] 특정 Job만 골라서 실행하기!

덩덩윤 2022. 5. 29. 12:59

안녕하세요. 덩덩윤입니당.

 

바빴던 5월이 끝나고... 이제 좀 여유를 찾았습니다...!

 

팀에서 운영하는 서비스의 프로세스 변경 건이  있었는데, 5월 중순에 운영 환경 반영이었거든요....

 

하지만 다행히도 스무스하게 마무리돼서 요즘은 틈틈이 AWS 인강도 듣는 시간을 보내고 있답니다 ㅎㅎㅎㅎ😉

 

다음엔 AWS나 클라우드 관련된 포스팅을 올리게 될 수도 있겠네요!

 


 

오늘은 처음으로 유닉스/리눅스 말고 다른 카테고리의 포스팅을 해보고자 합니다.

 

얼마 전에 배치 작업 수정 후 테스트 돌리면서 알게 된 내용인데요!

 

많은 분들이 사용하고 계실 Spring Batch에서,

 

특정 Job만 골라서 수행/테스트할 수 있는 방법... 소소한 팁?을 공유해보려고 합니다!

 

두 단계만 따라가면 됩니다!

 

 

 

 

1. application.yml 수정

 

Gradle로 프로젝트 빌드되는 프로젝트라면 application.yml 파일이 있습니다.

(프로젝트/src/main/resources 경로)

(Maven 프로젝트라면 application.properties 겠쪄?)

 

요 파일을 열어, spring.batch.job.names를 ${job.name:NONE}으로 수정합니다!

이렇게 수정을 해주면, @EnableBatchProcessing 어노테이션이 붙은 애플리케이션이 실행될 때,

 

job.name이라는 변수에 어떤 Job의 이름도 안 넘겨줄 거임!이라고 명시해주는 것이 됩니다.

 

왜 아무 Job도 안 넘기냐고요? 다음 단계에서 제가 수동으로 넘겨줄 거거든요!!!

 

 

 

2. program arguments 지정

 

 

요 부분은 제가 사용하는 IntelliJ IDE를 기준으로 설명드리겠습니다,,~~

 

최상단 메뉴 중 Run -> Edit Configuration으로 이동합니다.

 

그러면! 

요렇게 애플리케이션의 실행환경을 편집할 수 있는 메뉴가 뜨게 됩니다!

 

여기서 Program arguments 부분에 --job.name=수행하고 싶은 Job 이름

 

을 적어주고! 배치 애플리케이션을 실행하면 딱 그 녀석만 수행되고 끝입니다! 너무 간단하지 않나요? 

 

 

 

 

추가로, 해당 Job에 필요한 argument 도 같이 전달할 수 있으니, 

 

여러분들도 새로 개발했거나, 수정이 완료된 배치 작업을 요렇게 테스트해보시면 될 것 같습니다!

 

오늘의 포스팅은 요것으로 마치겠습니다. 뿅!


 

 

참고한 사이트

 

 

https://oingdaddy.tistory.com/177