본문 바로가기

SpringFramework

spring batch

@EnableBatchProcessing 애너테이션은 스프링 배치가 제공하는 배치 인프라스트럭처를 부트스트랩하는데 사용된다.

이 애너테이션이 배치 인프라스트럭처를 위한 대부분의 스프링 빈 정의를 제공하므로 다음과 같은 컴포넌트를 직접 포함시킬 필요는 없다.

     - JobRepository : 실행 중인 잡의 상태를 기록하는 데 사용

     - JobLauncher : 잡을 구동하는 데 사용

     - JobExplorer : JobRepository를 사용해 읽기 전용 작업을 수행하는 데 사용

     - JobRegistry : 특정한 런처 구현체를 사용할 때 잡을 찾는 용도로 사용

     - PlatformTransactioManager : 잡 진행 과정에서 트랜잭션을 다루는 데 사용

     - JobBuilderFactory : 잡을 생성하는 빌더

     - StepBuilderFactory : 스텝을 생성하는 빌더

 

스프링부트에는 JobLauncherCommandLineRunner라는 컴포넌트가 있다.

이 컴포넌트는 스프링 배치가 클래스 경로에 있다면 실행 시에 로딩되며, JobLauncher를 사용해  ApplicationContext에서 찾아낸 모든 잡을 실행한다.

 

메인 메서드에서 스프링 부트를 부트스트랩할 때 ApplicationContext가 생성되고, JobLauncherCommandLineRunner가 실행됐으며 잡이 수행됐다. 

 

스프링 배치의 주요 역할

 - 다양한 입력 및 출력 방식 지원

 - 오류 처리

 - 확장성

 

 

 

 

 

*부트스트랩(Bootstrap)이란, 일반적으로 한 번 시작되면 알아서 진행되는 일련의 과정

https://namu.wiki/w/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