Java

Java : Scheduler(스케쥴러), Quartz 사용법

제주도 조랑말 2024. 11. 14. 18:31
728x90

1.  최상단 pom.xml에 의존성 추가
<dependencies>
    <!-- 이미 존재하는 의존성들 -->
    
    <!-- Quartz 의존성 추가 -->
    <dependency>
        <groupId>org.quartz-scheduler</groupId>
        <artifactId>quartz</artifactId>
        <version>2.3.2</version>
    </dependency>
</dependencies>


-------

Schedule.java

package iot5.safe.schedule;

import org.quartz.*;
import org.quartz.impl.StdSchedulerFactory;

public class Schedule {
 public void startScheduler() {
        try {
            // 스케줄러 생성
            Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
            scheduler.start();

            // 작업 정의
            JobDetail job = JobBuilder.newJob(Myjob.class)
                .withIdentity("myJob", "group1")
                .build();

            // 트리거 설정 (예: 5초마다 실행)
            Trigger trigger = TriggerBuilder.newTrigger()
                .withIdentity("myTrigger", "group1")
                .startNow()
                .withSchedule(SimpleScheduleBuilder.simpleSchedule()
                    .withIntervalInSeconds(5)
                    .repeatForever())
                .build();

            // 스케줄러에 작업과 트리거 등록
            scheduler.scheduleJob(job, trigger);

        } catch (SchedulerException e) {
            e.printStackTrace();
        }
    }
}


------
Myjob.java

package iot5.safe.schedule;

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

public class Myjob implements Job {
    @Override
    public void execute(JobExecutionContext context) throws JobExecutionException {
        System.out.println("작업이 실행되었습니다!");
        // 여기에 값을 가져오는 로직을 추가하세요.
    }
}
728x90