[java] Quartz Scheduler 설정 방법

Quartz Scheduler는 자바 기반의 오픈 소스 작업 스케줄링 프레임워크입니다. 이 글에서는 Quartz Scheduler를 설정하는 방법에 대해 알아보겠습니다.

1. Quartz 라이브러리 추가

Quartz Scheduler를 사용하기 위해 먼저 Quartz 라이브러리를 프로젝트에 추가해야 합니다. Maven을 사용하는 경우, pom.xml 파일에 다음 의존성을 추가합니다.

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

Gradle을 사용하는 경우, build.gradle 파일에 다음 의존성을 추가합니다.

implementation 'org.quartz-scheduler:quartz:2.3.2'

2. Quartz Scheduler 설정 파일 작성

Quartz Scheduler를 사용하기 위해 설정 파일을 작성해야 합니다. 예를 들어, quartz.properties 파일을 생성하고 다음과 같은 내용을 추가합니다.

# 스케줄러 인스턴스의 이름 설정
org.quartz.scheduler.instanceName = MyScheduler

# 스케줄러에 사용할 스레드 풀 설정
org.quartz.threadPool.threadCount = 10

# Job 저장소에 사용할 데이터베이스 연결 정보 설정
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate
org.quartz.jobStore.dataSource = myDataSource
org.quartz.dataSource.myDataSource.driver = com.mysql.jdbc.Driver
org.quartz.dataSource.myDataSource.URL = jdbc:mysql://localhost/mydatabase
org.quartz.dataSource.myDataSource.user = myuser
org.quartz.dataSource.myDataSource.password = mypassword
org.quartz.jobStore.tablePrefix = QRTZ_

# Job 실행을 위한 설정
org.quartz.jobStore.isClustered = true
org.quartz.jobStore.clusterCheckinInterval = 20000
org.quartz.scheduler.skipUpdateCheck = true

주요 설정 항목은 다음과 같습니다.

3. Quartz Scheduler 인스턴스 생성 및 설정

Quartz Scheduler 인스턴스를 생성하고 설정 파일을 로딩하는 코드를 작성해야 합니다. 예를 들어, 다음과 같이 작성할 수 있습니다.

import org.quartz.impl.StdSchedulerFactory;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;

public class SchedulerApp {
    public static void main(String[] args) {
        try {
            // 스케줄러 인스턴스 생성
            Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
            
            // 설정 파일 로딩
            scheduler.start();
            
        } catch (SchedulerException e) {
            e.printStackTrace();
        }
    }
}

StdSchedulerFactory.getDefaultScheduler() 메소드를 사용하여 스케줄러 인스턴스를 생성하고, start() 메소드를 호출하여 설정 파일을 로딩하여 Quartz Scheduler를 시작합니다.

결론

이번 글에서는 Quartz Scheduler를 설정하는 방법을 알아보았습니다. Quartz Scheduler를 효과적으로 사용하기 위해서는 다양한 설정 옵션을 적절히 조절하는 것이 중요합니다. Quartz 공식 문서와 예제 코드를 참고하여 자세한 설정 내용을 확인하시기 바랍니다.

참고 자료