[스프링 배치 실행 - 배치 초기화 설정]
1.JobLauncherApplicationRunner
-Spring Batch 작업을 시작하는 ApplicationRunner로서 BatchAutoConfiguration에서 생성됨
-스프링 부트에서 제공하는 ApplicationRunner의 구현체로 어플리케이이 구동되자 마자 실행됨
-기본적으로 빈으로 등록된 모든 job을 실행시킨다.
2.BatchProperties
-Spring Batch의 환경 설정 클래스
-Job이름, 스키마 초기화 설정, 테이블 Prefix 등의 값을 설정할 수 있다.
-application.properties or application.yml 파일에 설정함
-batch:
job:
name: ${job.name:NONE}
initialize-schema: NEVER
tablePrefix: SYSTEM
3. Job 실행 옵션
-지정한 Batch Job만 실행하도록 할 수 있음
-spring.batch.job.names: ${job.name.NONE}
-어플리케이션 실행시 Programe arguments로 job 이름을 입력한다.
- --job.name=helloJob
- --job.name=helloJob,simpleJob (하나 이상의 job을 실행 할 경우 쉼표로 구분해서 입력함)
[스프링 배치 실행 - JobBuilderFactory / JobBuilder]
1. 스프링 배치는 Job과 Step을 쉽게 생성 및 설정할 수 있도록 util 성격의 빌더 클래스들을 제공함
2. JobBuilderFactory
- JobBuilder를 생성하는 팩토리 클래스로서 get(String name) 메서드 제공
- JobBuilderFactory.get("jobName") - Job의 이름을 문자열로 설정할 수 있다. 그럼 내부적으로 JobBuilder가
JobName의 이름을 받아서 Job을 생성할 수 있는 로직으로 구현되어 있습니다.
-"jobName"은 스프링 배치가 Job을 실행시킬 때 참조하는 Job의 이름
3. JobBuilder
- Job을 구성하는 설정 조건에 따라 두 개의 하위 빌더 클래스를 생성하고 실제 Job 생성을 위임한다.
- SimpleJobBuilder
- SimpleJob을 생성하는 Builder 클래스
- Job 실행과 관련된 여러 설정 API를 제공한다.
- FlowJobBuilder
- FlowJob을 생성하는 Builder 클래스
- 내부적으로 FlowBuilder를 반환함으로써 Flow 실행과 관련된 여러 설정 API를 제공한다.
'SpringBatch' 카테고리의 다른 글
스프링 배치 실행 - start() / next() (0) | 2022.06.21 |
---|---|
스프링 배치 실행 - 개념 및 API 소개 (0) | 2022.06.18 |
스프링 배치 도메인 이해 (0) | 2022.05.04 |