Spring - 8. 스케쥴러

Bloooooooooooooog..·2023년 5월 11일
0

@Scheduled

Spring에서 제공하는 스케쥴러이다. 시간에 따라 특정 작업을 할 수 있게 도와주는 기능을 한다.

설정 방법

  1. servlet-context.xml -> Namespace 탭 -> task 체크 후 저장
  2. servlet-context.xml -> Source 탭 -> <task:annotation-driven/> 추가

내부 속성

fiexdDelay

이전 작업이 끝난 시점부터 시간 설정(ms)

fixedRate

이전 작업이 수행된 시점부터 고정 시간 설정(ms)

	@Scheduled(fixedRate = 5000)
	public void test() {
		logger.info("5초마다 출력");
	}

cron

UNIX계열 잡 스케쥴러 표현식 작성

cron = "초 분 시 일 월 요일 [연도 - 생략가능]"

특수문자 사용
* : 모든 수
- : 두 수 사이의 값 ex) 1-5 == 1이상 5이하
, : 특정 값 지정 ex) 1, 3, 5 == 1과 3과 5
/ : 값의 증가 ex) 1/5 부터 시작해서 5마다
? : 특별한 값이 없음(월, 요일만 해당)
L : 마지막 (월, 요일만 해당)

	// @Scheduled(cron = "0 * * * * *") // 매 분 0초마다
	// @Scheduled(cron = "0 0 * * * *") // 정시마다
	// @Scheduled(cron = "0 0 12 * * *") // 매일 12시 정각
	// @Scheduled(cron = "0 0 12 1,11,21 * *") // 매달 1일, 11일, 21일 12시 정각
	// @Scheduled(cron = "0 0 14 * * 2") // 월요일 14시마다
    	@Scheduled(cron="0 * * * * *")
	public void test2() {
		logger.info("매 분 0초마다 출력");
	}
    
    
profile
공부와 일상

0개의 댓글