[Spring Boot] Scheduler 사용해보기(일정 주기로 실행하는 스프링 스케쥴러)

Scheduling 활성화


@EnableScheduling 은 스케쥴링을 활성화 하는 어노테이션이다.

@SpringBootApplication 위치한 클래스 위에 명시하면 전체 활성화가 된다.

@SpringBootApplication
@EnableScheduling
public class MySpringApplication {
		public static void main(String[] args) {
				SpringApplication.run(MySpringApplication.class, args);
		}
}

일부만 돌리고 싶을때는

@Scheduled 를 사용하고자 하는 클래스 위에 명시하면된다.

@EnableScheduling
public class MySchedulerClass {
		@Scheduled(cron="0/60 * * * * ?")
		//todo 스케쥴 함수
}

@Profile 어노테이션과 함께 사용하면, 선택적으로 스케쥴링을 활성화 하거나, 비활성화 할 수 있다.

@Configuration
@EnableScheduling
@Profile("!test") //테스트 환경에서는 스케쥴링 비활성화
public class SchedulerConfig {
    // ...
}

스케쥴 종류