728x90
@Scheduled 사용하기
@Scheduled 어노테이션을 사용하기 위해서 @EnableScheduling을 추가해주어야한다.
@EnableScheduling
public class TaskBatchApplication {
public static void main(String[] args) {
SpringApplication springApplication = new SpringApplication(TaskBatchApplication.class);
springApplication.addListeners(new ApplicationPidFileWriter());
springApplication.run(args);
}
}
SpringbootApplication 위에 @EnableScheduling 어노테이션을 추가해주거나 스케줄링을 적용하고자하는 클래스위에 @EnableScheduling 어노테이션을 추가해준다. 그리고 실제 사용할 자바 메소드 위에 아래와 같이 적용하여 스케줄링을 사용한다.
@Scheduled(cron = " 10 * * * * *")
위 예시코드에서 10초마다 스케줄러가 동작하여 현재시간이 출력된다.
각 자리마다 나타내는 시간주기를 의미하는데 자세한 내용은 아래와 같다.
기호 | 의미 |
* | 모든 조건을 의미 |
? | 설정 값이 없을 때 (날짜와 요일에서만 사용가능) |
- | 범위 값 지정할 때 사용 |
, | 여러 값 지정할 때 사용 |
/ | 초기값과 증가치 설정할 때 사용 |
L | 범위의 마지막 값 (날짜와 요일에서만 사용가능) |
W | 가장 가까운 평일을 찾음 (일 에서만 사용가능) |
예시)
- 매월 10일 오전 11시
- cron = "0 0 11 10 * *"
- 매일 오후 2시 5분
- cront = "0 5 14 * * *"
- 10분마다 스케줄링 동작
- cron="0 */10 * * * *"
728x90
'스터디 > Spring' 카테고리의 다른 글
[Springboot] CircuitBreaker 적용방법 (1) - Resilience4j (0) | 2023.08.18 |
---|---|
[Springboot] CircuitBreaker란 뜻 의미 (0) | 2023.08.17 |
[Spring] Spring 프로젝트에서 리소스 파일 읽기 (Java8) (0) | 2023.08.11 |
[Spring] 스프링 @MockBean, @SpyBean (0) | 2023.03.12 |
[Spring] 스프링 캐시 알아보기 (@Cacheable, @CachePut, @CacheEvict) (0) | 2023.03.12 |
댓글