본문 바로가기
개발/Java

[Springboot] 스프링 스케줄러 설정 / 1분 주기 / 5분 주기 / 매일 자정 / 환경 변수 이용 / 예제

by Allonsy 2021. 1. 11.
반응형

1. @EnableScheduling 어노테이션 추가

 

@SpringBootApplication 어노테이션이 있는 Application.java 파일에 @EnableScheduling 어노테이션 추가

2. Scheduler.java 파일 생성

 

3. Scheduler class에 @Component 어노테이션 추가

 

4. 메소드 작성 및 @ Scheduled 어노테이션 작성 (크론표현식 이용)

 

@Scheduled(cron = "0 */5 * * * *")

 

1분 주기 

0 * * * * *

 

5분 주기

0 */5 * * * *

 

매일 자정

0 0 0 * * *

 

5. @Value 어노테이션 이용해서 application.yml, application-local.yml 등 파일에 있는 환경 변수 사용

@Component
@Slf4j
public class Scheduler {
	
    @Value("${spring.profiles.active}")
    private String env;
	
	@Scheduled(cron = "0 */5 * * * *")	// 5분마다
	public void test1() throws Exception {
		if(!env.equals("prod")) {
			log.info("매일 5분마다 - " + env);
		}
		
	}

	@Scheduled(cron = "0 0 0 * * *")	// 매일 00시 정각
	public void test2() throws Exception {
		
		log.info("매일 00시");
		
	}
	
	@Scheduled(cron = "0 * * * * *")	// 1분마다
	public void test3() throws Exception {
		log.info("health check - " + env);
	}

}
반응형

댓글