본문 바로가기

자바

스프링 부트 스케쥴러 생성 [Java, Spring Boot, Scheduler]

반응형

서버를 실행하면 일정 시간/날짜 마다 실행되는 스케쥴러를 만들어보자

 

 

[프로젝트명]Application.java

@SpringBootApplication
@EnableConfigurationProperties(StorageProperties.class)
//아래 어노테이션이 중요
@EnableScheduling
public class 프로젝트명Application {
	//스케줄러
	@Bean
	public TaskScheduler taskScheduler() {
		return new ConcurrentTaskScheduler(); 
	}
}

/config/ConcurrentTaskScheduler.java

@Component
public class ConcurrentTaskScheduler {
	
	//자정마다 실행 (cron = "초 분 시 일 월 요일 년(생략가능)")
	@Scheduled(cron = "0 0 0 * * ? ")
	public void example_schedule(){
		//실행로직
	}
}

 

참고) 더 있으나 자주 사용되는 것만 정리

 -초 0-59, *

 -분 0-59, *

 -시 0-23, *

 -일 1-31, *, ?

 -월 1-12, JAN-DEC, *, ?

 -요일 1-7, SUN-SAT, *, ?, 1:일, 2:월, 3:화, 4:수, 5:목, 6:금, 7:토

 -년(옵션) 1970-2099, *

 

* : 모든 값

, : 여러 값 사용

? : 특정 값 없음