반응형
목차
Quartz 와 Batch
Quartz
- 언제 실행시킬지와 관련 = 스케줄링
- Scheduling
Batch
- 무엇을 실행시킬지와 관련
- Batch job
- 보통 배치를 짠다는 말은 Batch job 개발을 한다는 의미
Quartz와 Batch의 관계 및 함께 사용하는 이유
- 일괄처리(로직)을 batch job 으로, batch job 을 스케쥴링 하기 위해 quartz 를 사용
- 높은 Spring Version은 @Scheduled 어노테이션으로 Crontrigger와 같은 기능을 제공하여 Quartz 가 필요 없다곤 하나
- Quartz 의 Clustering 기능, DB 값을 기준으로 동작 제어가 가능하다는 점에 Quartz를 함께 사용
쿼츠 Quartz
쿼츠란, 오픈소스 스케줄러이다. 쿼츠는 자바 환경의 규모와 상관없이 사용이 가능하고 잡 실행에 유용한 스프링 부트 지원과 같이 오래전부터 스프링 연동을 지원하고있다. 쿼츠는 아래 3가지 컴포넌트를 제공한다.
쿼츠는 스케줄러, 잡, 트리거라는 세 가지 주요 컴포넌트를 가진다.
스케줄러 (Scheduler)
스케줄러는 SchedulerFactory 를 통해서 가져올 수 있으며 JobDetails 및 트리거의 저장소 기능을 한다.
스케줄러는 SchedulerFactory를 통해서 가져올 수 있으며 JobDetails 및 트리거의 저장소 기능을한다. 또한 스케줄러는 연관된 트리거가 작동할 때 잡을 실행하는 역할을 한다.
잡 (Job)
실행의 작업 단위이다.
트리거 (Trigger)
: 작업(=잡) 실행 시점을 정의한다.
: 트리거가 작동되어 쿼츠에게 잡을 실행하도록 지시하면, 잡의 개별 실행을 정의하는 JobDetails 객체가 생성된다.
참고
Quartz + Spring Batch 조합하기
Zum 에서 BeyondJ2EE 김태기 팀장님과 표준화 프로젝트를 진행하며, Zum 에서의 Batch 에 대한 표준을 작성하며 알게 된 Quartz Framework 의 매력과 직접 개발해본 Spring 과의 조합 및 궁합 을 소개해
blog.kingbbode.com
반응형
'Spring > Spring Batch' 카테고리의 다른 글
[Spring Batch] 배치 잡의 재시작 방지/재시작 횟수제한/재시작 (0) | 2022.05.05 |
---|---|
[Spring Batch] Spring Batch에서 Multithread로 Step 실행하기 (0) | 2022.05.05 |
[Spring Batch] 대량의 데이터 넣을 때 (bulk insert) (0) | 2022.05.05 |
[Spring Batch] Chunk 기반 처리 (0) | 2022.05.05 |
스프링배치_완벽가이드_3장_거래명세서 생성 (0) | 2021.07.15 |