배치 시나리오
- 배치 프로세스를 주기적으로 커밋
- 동시 다발적인 JOB의 배치 처리, 대용량 병렬 처리
- 실패 후 수동 또는 스케줄링에 의한 재시작
- 의존관계가 있는 STEP 여러 개를 순차적으로 처리
- 조건적 FLOW 구성을 통한 체계적이고 유연한 배치 모델 구성
- 반복, 재시도, SKIP 처리
프로젝트 구성 및 의존성 설정
스프링 배칯 활성화
- @EnableBatchProcessing
- 스프링 배치가 작동하기 위해 선언해야 하는 어노테이션
- 스프링 부트 배치의 자동 설정 클래스가 실행됨으로 빈으로 등록된 모든 job을 검색해서 초기화와 동시에 job을 수행하도록 구성됨
스프링 배치 초기화 설정 클래스
- BatchAutoConfiguration
- 스프링 배치가 초기화 될 때 자동으로 실행되는 설정 클래스
- job을 수행하는 JobLauncherApplicationRunner 빈을 생성
- SimpleBatchConfiguration
- JobBuilderFactory와 StepBuilderFactory 생성
- 스프링 배치의 주요 구성 요소 생성 - 프록시 객체로 생성됨..
- BatchConfigurerConfiguration
1) BasicBatchConfigurer
- SimpleBatchConfiguration에서 생성한 프록시 객체의 실제 대상 객체를 생성하는 설정 클래스
- 빈으로 의존성 주입 받아서 주요 객체들을 참조해서 사용할 수 있다.
2) JpaBatchConfigurer
- JPA 관련 객체들을 생성하는 설정 클래스