반응형
Quartz 2.3.2에서 Cron 표현식 사용하기
Quartz Scheduler는 Java 기반의 작업 스케줄링 라이브러리로, Cron 표현식을 사용하여 작업을 예약할 수 있습니다. 이 글에서는 Quartz 2.3.2에서 Cron 표현식을 정의하고 사용하는 방법을 알아보겠습니다.
Cron 표현식이란?
Cron 표현식은 특정 시간에 작업을 예약하기 위한 문자열입니다. Quartz Cron 표현식은 총 7개의 필드로 구성되며, 각 필드는 공백으로 구분됩니다. 각 필드의 의미는 다음과 같습니다:
Seconds Minutes Hours Day-of-Month Month Day-of-Week Year (Optional)
Public code references from 2 repositories
각 필드의 범위
초 (Seconds) 0-59 초 단위 (0에서 59까지)
분 (Minutes) 0-59 분 단위 (0에서 59까지)
시 (Hours) 0-23 시 단위 (0에서 23까지)
일 (Day-of-Month) 1-31 달의 일 (1에서 31까지)
월 (Month) 1-12 또는 JAN-DEC 월 (1에서 12 또는 JAN에서 DEC까지)
요일 (Day-of-Week) 1-7 또는 SUN-SAT 요일 (1=일요일, 7=토요일 또는 SUN에서 SAT까지)
년 (Year) 1970-2099 (옵션) 년도 (옵션 필드)
특수문자
*: 모든 값
?: 특정 값 없음 (Day-of-Month과 Day-of-Week 필드에서 사용)
-: 범위
,: 리스트 구분
/: 증가 간격
L: 마지막 (Day-of-Month과 Day-of-Week 필드에서 사용)
W: 가장 가까운 평일 (Day-of-Month 필드에서 사용)
#: N번째 요일 (Day-of-Week 필드에서 사용)
예제 표현식
- 매일 자정에 실행
0 0 0 * * ? *
- 매일 오후 2시 30분에 실행
0 30 14 * * ? *
- 매주 월요일 오전 10시에 실행
0 0 10 ? * MON *
- 매월 1일 자정에 실행
0 0 0 1 * ? *
- 매년 1월 1일 자정에 실행
0 0 0 1 1 ? *
Quartz에서 Cron 표현식 사용하기
Quartz에서 Cron 표현식을 사용하여 작업을 예약하려면 CronTrigger를 사용합니다. 다음은 예제 코드입니다:
import org.quartz.CronScheduleBuilder;
import org.quartz.CronTrigger;
import org.quartz.JobBuilder;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SchedulerFactory;
import org.quartz.TriggerBuilder;
import org.quartz.impl.StdSchedulerFactory;
public class QuartzCronExample {
public static void main(String[] args) {
try {
// 스케줄러 팩토리 생성
SchedulerFactory schedulerFactory = new StdSchedulerFactory();
Scheduler scheduler = schedulerFactory.getScheduler();
// 작업 생성
JobDetail job = JobBuilder.newJob(MyJob.class)
.withIdentity("myJob", "group1")
.build();
// Cron 표현식을 사용한 트리거 생성
CronTrigger trigger = TriggerBuilder.newTrigger()
.withIdentity("myTrigger", "group1")
.withSchedule(CronScheduleBuilder.cronSchedule("0 0 0 * * ?"))
.build();
// 스케줄러에 작업과 트리거 추가
scheduler.start();
scheduler.scheduleJob(job, trigger);
} catch (SchedulerException e) {
e.printStackTrace();
}
}
}
이 예제에서는 매일 자정에 실행되는 작업을 예약합니다. CronScheduleBuilder.cronSchedule 메서드에 Cron 표현식을 전달하여 트리거를 생성합니다.
결론
이 글에서는 Quartz 2.3.2에서 Cron 표현식을 정의하고 사용하는 방법을 살펴보았습니다. Cron 표현식을 사용하면 정해진 시간에 작업을 예약할 수 있어 매우 유용합니다. Quartz Scheduler를 활용하여 다양한 작업을 자동화해 보세요!
이 포스트가 도움이 되길 바랍니다! 추가적인 질문이 있으면 언제든지 남겨 주세요.
반응형
'그냥글쓰기' 카테고리의 다른 글
Happy New Year... (1) | 2024.12.31 |
---|---|
오늘 난 무엇을 했을까 ? (feat 행운이 오는 중) (1) | 2024.12.12 |
안드로이드 개발자용 제미니 프로 도입: 강력한 텍스트와 이미지 추론 기능을 공개합니다. ... 퍼옴 (2) | 2024.11.02 |
windows 11 blue screen 을 마주 하다. (3) | 2024.10.23 |
JavaScript와 jQuery를 사용한 날짜 유효성 검증 및 문자열 길이 체크 (2) (0) | 2024.09.29 |