728x90
반응형
1. JobLauncherApplicatinRunner
- Spring Batch 작업을 시작하는 ApplicationRunner 로서 BatchAutoConfiguration에서 생성됨
- 스프링 부트에서 제공하는 ApplicatinRunner의 구현체이며 애플리케이션이 구동되지 마자 실행됨
- 기본적으로 빈으로 등록된 모든 Job을 샐행하며, 설정으로 특정 Job만 실행하도록 변경할 수 있음
BatchAutoConfiguration.class
JobLauncherApplicationRunner를 bean으로 등록
custom bean을 등록해도 상관 없음
@Bean @ConditionalOnMissingBean @ConditionalOnProperty( prefix = "spring.batch.job", name = {"enabled"}, havingValue = "true", matchIfMissing = true ) public JobLauncherApplicationRunner jobLauncherApplicationRunner(JobLauncher jobLauncher, JobExplorer jobExplorer, JobRepository jobRepository, BatchProperties properties) { JobLauncherApplicationRunner runner = new JobLauncherApplicationRunner(jobLauncher, jobExplorer, jobRepository); String jobNames = properties.getJob().getName(); if (StringUtils.hasText(jobNames)) { runner.setJobName(jobNames); } return runner; }
2. BatchProperties
- Spring Batch 환경 설정 클래스
- application.properties or application.yml
spring:
batch:
job:
names: ${job.name:NONE}
main:
web-application-type: none
- argument로 job이름을 받아 해당 job만 실행하도록 설정
- JobLauncherApplicatinRunner 이 실행시켜 줌
3. Job 실행 옵션
- 지정한 Batch Job만 실행핟록 할 수 있음
- spring.batch.job.names: ${job.name}
- 실행시 Progam arguments로 job 이름을 전달하여 실행
- --job.name=simpleJob,simpleJob2 (하나 이상의 job 실행 시 쉼표로 구분하여 입력)
728x90
반응형
'프로그래밍 노트 > SPRING BATCH' 카테고리의 다른 글
[SPRING BATCH] Job/Step 구성 (0) | 2023.10.03 |
---|