스케쥴러

gdhi·2024년 4월 4일

Spring에서는 @Scheduled 어노테이션을 사용하여 간편하게 스케줄러를 구현할 수 있습니다. 이를 통해 정해진 시간마다 자동으로 특정 작업을 실행할 수 있습니다. 오후 2시마다 스케쥴을 알려주는 스케쥴러를 구현하려면 다음 단계를 따라야 합니다.

  1. 의존성 추가: 스케줄링 기능을 사용하기 위해 spring-boot-starter에 포함된 스케줄링 의존성을 사용합니다. 추가적인 의존성을 명시적으로 추가할 필요는 없습니다.

  2. 스케줄링 활성화: 스프링 부트 애플리케이션에서 스케줄링을 활성화하려면, @EnableScheduling 어노테이션을 설정 클래스에 추가합니다.

    import org.springframework.scheduling.annotation.EnableScheduling;
    import org.springframework.context.annotation.Configuration;
    
    @Configuration
    @EnableScheduling
    public class SchedulerConfig {
    }
  3. 스케줄러 메서드 구현: @Scheduled 어노테이션을 사용하여 스케줄러를 구현합니다. 오후 2시마다 실행되도록 설정하려면 cron 속성을 사용합니다. cron 표현식은 초 분 시 일 월 요일 형식을 따릅니다.

    import org.springframework.scheduling.annotation.Scheduled;
    import org.springframework.stereotype.Component;
    
    @Component
    public class ScheduledTasks {
    
        @Scheduled(cron = "0 0 14 * * *") // 매일 오후 2시에 실행
        public void reportCurrentTime() {
            // 여기에 실행할 작업을 구현합니다. 예를 들어, 이메일 서비스를 호출할 수 있습니다.
            System.out.println("스케쥴 실행: " + new Date());
        }
    }

위 예시에서는 매일 오후 2시에 reportCurrentTime 메서드가 실행되도록 설정했습니다. 이 메서드 내에서 실제로 수행할 작업(예: 이메일 발송)을 구현하면 됩니다. cron 표현식을 사용해 정확한 시간 설정이 가능하며, 이외에도 fixedRatefixedDelay 등을 사용하여 다양한 방식으로 스케줄링을 설정할 수 있습니다.

0개의 댓글