package com.sample.web;
import java.util.Date;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
// 스케줄링을 사용한다는 것을 알린다.
@EnableScheduling
// 개발자가 직접 작성한 Class를 Bean으로 등록하여 사용하기 위함
@Component
public class SampleScheduler {
/*
초 분 시 일 월 주(년)
@Scheduled(cron = "0/30 * * * * *") // 매 30초 마다
* : 모든 값을 뜻합니다.
? : 특정한 값이 없음을 뜻합니다.
- : 범위를 뜻합니다. (예) 월요일에서 수요일까지는 MON-WED로 표현
, : 특별한 값일 때만 동작 (예) 월,수,금 MON,WED,FRI
/ : 시작시간 / 단위 (예) 0분부터 매 5분 0/5
L : 일에서 사용하면 마지막 일, 요일에서는 마지막 요일(토요일)
W : 가장 가까운 평일 (예) 15W는 15일에서 가장 가까운 평일 (월 ~ 금)을 찾음
# : 몇째주의 무슨 요일을 표현 (예) 3#2 : 2번째주 수요일
*/
@Scheduled(cron = "0 0 10 * * *") // 매일 10시
private void sampleSchedule() {
System.out.println("# SCHEDULED CALL : " + new Date());
}
}