티스토리 뷰

728x90
반응형
SMALL

Spring boot Scheduler 사용

일정 시간, 간격에 해당 로직을 돌리기 위해 사용한다.

Spring Boot에서는 별도의 dependency를 추가할 필요 없이, Spring Boot Starter에서 Scheduler를 제공.

1. Spring Scheduler를 사용하기 위해서는 main class에 @EnableScheduling annotation을 추가.

@EnableScheduling  
@SpringBootApplication  
public class DemoApplication {  

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

2. @EnableScheduling annotation을 추가하고 나면 Scheduling 하려는 method에 scheduled annotation을 추가한다.

- fixedDelay : scheduler가 끝나는시간을 기준으로 실행(ms)

@Component  
public class scheduledExample {  
    private Logger log = LoggerFactory.getLogger(scheduledExample.class);  
    // 1000ms간격
    @Scheduled(fixedDelay = 1000)  
    public void scheduledFixedDelay() {  
        log.info("scheduledFixedDelay");  
    }  
}

- fixedRate : scheduler가 시작하는시간을 기준으로 실행(ms)

@Component  
public class scheduledExample {  
    private Logger log = LoggerFactory.getLogger(scheduledExample.class);  
    // 1000ms간격
    @Scheduled(fixedRate = 1000)  
    public void scheduledfixedRate() {  
        log.info("scheduledfixedRate");  
    }
}

- cron : cron설정에 따라 실행

@Component  
public class scheduledExample {  
    private Logger log = LoggerFactory.getLogger(scheduledExample.class);  
    // 5초간격
    @Scheduled(cron = "0/5 * * * * ?")  
    public void scheduledCron() {  
        log.info("scheduledCron");  
    }
}
728x90
반응형
LIST
댓글
반응형
250x250
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함