반응형

목차

     

    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 객체가 생성된다.

    참고

    https://blog.kingbbode.com/38

     

    Quartz + Spring Batch 조합하기

    Zum  에서 BeyondJ2EE 김태기 팀장님과 표준화 프로젝트를 진행하며, Zum  에서의 Batch  에 대한 표준을 작성하며 알게 된 Quartz Framework  의 매력과 직접 개발해본 Spring 과의 조합 및 궁합 을 소개해

    blog.kingbbode.com

     

    반응형

    + Recent posts