본문 바로가기
웹개발/spring && springboot

SPRING 스케쥴러(Scheduler)

by 지구별 여행자 임탱 2024. 3. 28.
728x90

Spring 스케쥴러는 특정 시간에 등록된 작업을 자동으로 실행시키는 기능입니다. Spring Framework에서 기본적으로 제공하는 스케쥴러를 사용하면, 주기적으로 반복되는 작업을 효율적으로 관리할 수 있습니다.

 Spring에서는 @Scheduled 어노테이션을 통해 스케쥴링 작업을 쉽게 구현할 수 있습니다.

 

Spring 스케쥴러 개발 방법
  - 의존성 추가: Spring Boot 프로젝트의 경우, 별도의 의존성 추가 없이 spring-boot-starter에 포함된 기능을 사용할 수 있습니다.
  - @EnableScheduling 어노테이션 추가: 스케쥴링을 활성화하기 위해, Spring Boot Application 클래스에 @EnableScheduling 어노테이션을 추가합니다.
  - 스케쥴링 작업 구현: @Scheduled 어노테이션을 사용하여 스케쥴링할 메소드를 구현합니다. 이때, 실행 주기를 지정할 수 있는 다양한 속성(cron, fixedDelay, fixedRate 등)을 제공합니다.

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

@Service
public class SchedulerService {
    @Scheduled(fixedDelay = 1000) // 1초마다 실행
    public void run() {
        System.out.println("Hello, Spring Scheduler!");
    }
}

Spring 스케쥴러를 활용하면, 정해진 시간 또는 주기에 따라 작업을 자동으로 실행할 수 있어, 배치 작업이나 주기적인 데이터 처리 등에 유용하게 사용됩니다.