반응형
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);
}
}
반응형
'개발 > Java' 카테고리의 다른 글
[이펙티브 자바] 정적 팩터리 메서드 명명 방식 (0) | 2021.04.27 |
---|---|
[Lombok + Builder pattern + generic] 롬복 빌더패턴에서 generic 사용하기 (0) | 2021.04.19 |
[Maven 에러] maven warning failed to retrieve plugin descriptor -> 해결 openJDK cacert 인증서 문제 [+덤 SSLException] (2) | 2020.03.09 |
[Windows10] maven 설치 및 환경변수 설정 (1) | 2020.03.09 |
[Windows 10 - Tomcat 설치 및 멀티 인스턴스 설정] (0) | 2020.03.09 |
댓글