[Spring boot]스케줄러(scheduler)
정해진 시간에 주기적으로 반복적인 일을 수행하는 경우가 많습니다.
@Scheduled 어노테이션으로 몇 가지의 설정을 통해 반복 작업을 실행할 수 있습니다.
1. Application 상단에 @EnableScheduling 추가
@SpringBootApplication
@EnableCaching
@EnableScheduling
public class WebApplication {}
2. 선언
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
- 호출 후 10초 후 재 호출. 호출 된 프로세스가 다 완료되고 5초 대기 후 또 다시 호출.
@Scheduled(fixedDelay = 10000)
public void fixedDelay() {
System.out.println(new Date());
}
- 호출 후 프로세스와 상관없이 10초 마다 호출.
@Scheduled(fixedRate = 10000)
public void fixedRate() {
System.out.println(new Date());
}
- 호출하고 2초 대기 후에 실행, 이후 프로세스와 상관없이 7초마다 호출.
@Scheduled(fixedRate = 7000, initialDelay = 2000)
public void fixedRateWithInitialDelay(){
System.out.println(new Date());
}
// "0 0 * * * *" = the top of every hour of every day.
// "*/10 * * * * *" = 매 10초마다 실행한다.
// "0 0 8-10 * * *" = 매일 8, 9, 10시에 실행한다
// "0 0 6,19 * * *" = 매일 오전 6시, 오후 7시에 실행한다.
// "0 0/30 8-10 * * *" = 8:00, 8:30, 9:00, 9:30, 10:00 and 10:30 every day.
// "0 0 9-17 * * MON-FRI" = 오전 9시부터 오후 5시까지 주중(월~금)에 실행한다.
// "0 0 0 25 12 ?" = every Christmas Day at midnight
@Scheduled(cron = "0 0 0-6 * * *")
public void cron(){
System.out.println(new Date());
}
'Web Programing! > JAVA / JSP' 카테고리의 다른 글
[spring boot] 이클립스, 메이븐 연동 (0) | 2019.04.19 |
---|---|
[spring boot] 메이븐(maven) 설치하기 (0) | 2019.04.18 |
[spring boot] 이클립스 설치하기 (0) | 2019.04.17 |
[JAVA ]spring url 이미지 다운로드 (0) | 2019.03.29 |
[JAVA] 이미지 리사이즈 (0) | 2019.03.28 |
[JAVA] 특수문자 치환시 유용한 클래스 (0) | 2019.03.26 |
[JAVA] JAVA내에서 IP찾기 (0) | 2015.12.14 |