@EnableBatchProcessing 애너테이션은 스프링 배치가 제공하는 배치 인프라스트럭처를 부트스트랩하는데 사용된다.
이 애너테이션이 배치 인프라스트럭처를 위한 대부분의 스프링 빈 정의를 제공하므로 다음과 같은 컴포넌트를 직접 포함시킬 필요는 없다.
- JobRepository : 실행 중인 잡의 상태를 기록하는 데 사용
- JobLauncher : 잡을 구동하는 데 사용
- JobExplorer : JobRepository를 사용해 읽기 전용 작업을 수행하는 데 사용
- JobRegistry : 특정한 런처 구현체를 사용할 때 잡을 찾는 용도로 사용
- PlatformTransactioManager : 잡 진행 과정에서 트랜잭션을 다루는 데 사용
- JobBuilderFactory : 잡을 생성하는 빌더
- StepBuilderFactory : 스텝을 생성하는 빌더
스프링부트에는 JobLauncherCommandLineRunner라는 컴포넌트가 있다.
이 컴포넌트는 스프링 배치가 클래스 경로에 있다면 실행 시에 로딩되며, JobLauncher를 사용해 ApplicationContext에서 찾아낸 모든 잡을 실행한다.
메인 메서드에서 스프링 부트를 부트스트랩할 때 ApplicationContext가 생성되고, JobLauncherCommandLineRunner가 실행됐으며 잡이 수행됐다.
스프링 배치의 주요 역할
- 다양한 입력 및 출력 방식 지원
- 오류 처리
- 확장성
*부트스트랩(Bootstrap)이란, 일반적으로 한 번 시작되면 알아서 진행되는 일련의 과정
'SpringFramework' 카테고리의 다른 글
Spring websocket (0) | 2023.12.10 |
---|---|
SpringFramework (0) | 2018.02.03 |
MVC,spring (0) | 2012.09.04 |
Spring Day4 (0) | 2012.06.01 |
Spring01정리 (0) | 2012.06.01 |