본문 바로가기
IT/Java

Quartz 스케줄러 part.1

by 성준하이 2022. 10. 2.
반응형

이전 포스팅에서 스프링 스케줄러 관련해서 다룬적이 있다.

아래 참고 포스팅을 확인해보면 도움이 될것이다.

 

이번 포스팅에서는 스케줄러를 담당하는 자바 라이브러리인 QUARTZ 를 다뤄볼것이다.

 

라이브러리를 사용하기 위한 메이븐 dependency 는 다음과 같다.

<dependency>
    <groupId>org.quartz-scheduler</groupId>
    <artifactId>quartz</artifactId>
    <version>2.3.2</version>
</dependency>

 

구성 요소는 다음과 같다.

JOB
  • 실제 작업을 수행하는 객체
  • org.quartz.Job 인터페이스를 상속받아 execute 메소드에 수행 로직을 구현
  • 같은 그룹에는 동일한 이름을 가진 Job를 생성할수 없음
Trigger
  • Job을 수행하기 위한조건(스케줄)을 정의한 객체
  • 특정 시간, 횟수, 반복 주기 등을 설정할 수 있음
    • 특정시간 및 횟수 : SimpleTrigger
    • 주기적으로 반복 : CronTrigger
  • Job: Trigger = 1:N
Listener
  • 작업의 시작, 중간, 끝, 에러를 처리할 수 있는 객체
  • ScheduleListener / TriggerListener

 

위의 명칭은 Batch와 Cron 등의 명칭들과 비슷한 의미들이 있다는것을 눈치 챘을 것이다.

 

다음은 이어서 직접 소스코드를 구현해볼 것이다.


참고 포스팅

https://thenicesj.tistory.com/200

 

스프링 스케줄러

반복적인 작업을 하기 위해서 다양한 방법들이 있다. 리눅스 상에서의 crontab이나 코드내부라면 while문과 sleep 를 합쳐서 만들수도 있을것이고 방법은 다양하겠지만 이번 포스팅에서는 스프링에

thenicesj.tistory.com

 

반응형

'IT > Java' 카테고리의 다른 글

HashTable, HashMap, ConcurrentHashMap 비교  (54) 2022.10.04
Quartz 스케줄러 part.2  (36) 2022.10.03
PSA 란?  (54) 2022.09.28
Assertions.assertThat 비교 하기  (39) 2022.09.24
enum 이란  (36) 2022.09.17

댓글