프로그래밍 언어/JAVA, SPRING

[SPRING BOOT] 스케줄링(Scheduling)

doomole 2024. 7. 17. 17:32
728x90

소개

Spring Boot의 스케줄링 기능을 사용하면 특정 작업을 일정에 따라 실행할 수 있습니다. 이 가이드는 Spring Boot에서 스케줄링을 설정하고 사용하는 방법을 설명합니다.

 

 

프로젝트 설정

Spring Initializr를 사용하여 새로운 Spring Boot 프로젝트를 생성합니다. "Spring Web" 의존성을 추가합니다.

 

build.gradle

// https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '3.3.1'

 

 

스케줄링 설정

main 패키지에 있는 애플리케이션 클래스에서 @EnableScheduling 애노테이션을 추가하여 스케줄링을 활성화합니다.

 

DemoApplication.java

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;

@SpringBootApplication
@EnableScheduling
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

 

 

스케줄링 작업 생성

Scheduler 클래스를 생성하고, @Scheduled 애노테이션을 사용하여 스케줄링 작업을 정의합니다.

 

Scheduler.java

package com.example.demo;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

@Component
public class Scheduler {

    @Scheduled(fixedRate = 5000) // 5초마다 실행
    public void fixedRateTask() {
        System.out.println("Fixed rate task - " + System.currentTimeMillis() / 1000);
    }

    @Scheduled(cron = "0 * * * * *") // 매 분 0초에 실행
    public void cronTask() {
        System.out.println("Cron task - " + System.currentTimeMillis() / 1000);
    }
}

 

 

문의사항이나 피드백은 댓글로 남겨주세요.

 

 

'프로그래밍 언어 > JAVA, SPRING' 카테고리의 다른 글

[SPRING BOOT] DevTools  (0) 2024.07.22
[SPRING BOOT] 유효성 검사(Validation)  (1) 2024.07.17
[SPRING BOOT] JPA  (0) 2024.07.17
[SPRING BOOT] Actuator  (0) 2024.07.17
[SPRING BOOT] 자동 설정 기능  (0) 2024.07.17