@Scheduled
Scheduler는 내가 원하는 시간대에 주기적인 동작을 하기위해서 사용하기에 좋은 어노테이션이다.
1. @EnableScheduling annotation추가
TestSchedulerConfig class를 Scheduler실행 목적으로 사용하겠다 annotation을 붙여줬습니다.
@Configuration
: 이 어노테이션을 사용하지 않을 경우 스케쥴링이 동작하지 않습니다.
spring에서 bean팩토리 설정과 관련된 어노테이션으로 IOC(의존제어역전)을 통한 객체 생성이 가능합니다.
spring IOC 컨테이너가 해당 클래스를 Bean정의 소스로 사용합니다. 이를 통해 클래스 내부의 설정된 메소드들이 자동으로 돌아가도록 합니다.
2. @Scheduled 설정
@Scheduled annotation을 붙여 해당시간대에 method가 동작하게 설정합니다.
해당 annotation에서는 간단한 규칙이 존재하는데,
1. method return type은 void로 합니다.(그렇지 않으면, return되는 값은 무시됩니다.)
2. method에서는 어떤 parameter도 기대해서는 안됩니다.
cron을 이용한 시간대 설정
왼쪽부터 차례대로 설명하면 초(0) 분(*/5) 시(*) 일(*) 월(*) 요일(*) 연도(?) 로 구분되어 있다. 위의 예제는 매일 5분마다 scheduler가 동작하는 cron 값입니다.
cron설정
의미 | 범위 |
초 | 0-59 |
분 | 0-59 |
시간 | 0-23 |
일 | 1-31 |
월 | 1-12 |
요일 | 1-7 |
연도 | 1970-2099 |
https://www.baeldung.com/spring-scheduled-tasks" target="_blank" rel="noopener" data-mce-href="http:// https://www.baeldung.com/spring-scheduled-tasks">http:// https://www.baeldung.com/spring-scheduled-tasks
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=rhkrehduq&logNo=221426709905
'Spring' 카테고리의 다른 글
springBoot-H2database연동하기 (0) | 2021.12.26 |
---|---|
SpringBoot-외장Tomcat으로 배포하기 (0) | 2021.12.24 |
SpringMVC-프로젝트 생성 (intellij) (0) | 2021.12.05 |
SpringBoot-@ShedLock 설정 방법 (0) | 2021.11.17 |
SpringBoot-@PathVariable에 특수문자 허용 (1) | 2021.10.08 |