Spring Batch 입문: 3시간 만에 끝내는 대용량 처리의 기초
understanding-spring-batch-job-parameters
✅ 1. 오래된 접속 로그 삭제 배치
LocalDate targetDate = LocalDate.of(2026, 1, 26);
deleteLogs(targetDate);
- 문제점
- 내일 날짜로 배치를 돌리려면?
- 코드를 수정하고 다시 배포해야 함
- 해결책
- 실행시점에서 날짜를 주입해준다면, 코드를 고칠 필요가 없음
- 이런 상황에서 필요한 것이
JobParameters 이다.
✅ 2. JobParameters란?
- 정의: 배치 Job을 실행할 때 외부에서 주입하는 파라미터 묶음.
- 용도: 매일 변하는 날짜, 특정 파일 경로, API 요청 ID 등 동적인 값을 처리할 때 사용.
- 장점: 값을 바꾸기 위해 코드를 수정하거나 재배포할 필요가 없다.
✅ 3. 사용예시
./gradlew bootRun --args='--spring.batch.job.name=simpleJob requestDate=20240126'
스프링 배치에서는 @Value 어노테이션과 @StepScope 를 조합하여 작성해야 하며, 값을 꺼낼때는 SpEL(스프링 표현 언어)을 사용해 값을 꺼낸다.