-
[Spring Boot] 스케쥴러를 이용한 스케쥴링(Scheduler)개발기록 2022. 9. 19. 16:10반응형728x90
사용법
dependency에 Spring Boot starter를 추가해두었다면 Scheduler를 사용하기 위해 따로 dependency를 추가해줄 필요는 없다.
1. Scheduling을 사용할 api Application에 @EnableScheduling을 추가한다.
2. Scheduler를 사용할 Class에 @Component를 추가한다.
3. Scheduler를 사용할 Method에 @Scheduled를 추가한다.
※ 이때 주의할 점
- 해당 Method는 void타입이어야 한다.
- 해당 Method는 매개변수를 가질 수 없다.
코드로 보기
package com.??; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.scheduling.annotation.EnableScheduling; @EnableScheduling // #1. @EnableScheduling 추가 @SpringBootApplication public class SchedulerApplication { public static void main(String[] args) { SpringApplication.run(SchedulerApplication.class, args); } }
package com.??; import lombok.extern.slf4j.Slf4j; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import org.springframework.stereotype.Service; @Slf4j @Service @Component // #2. @Component 추가 public class SchedulerService { @Scheduled(fixedRate = 300000) // #3. @Scheduled 추가 public void schedulingTest() { log.info("scheduling test"); } }
위에서 fixedRate는 해당 메서드가 시작하는 시간을 기준으로 milliseconds 간격으로 실행된다.
이외에도 fixedDelay, Cron 등이 있다.
레퍼런스
이는 아래 블로그 주소를 참고하도록 하자.
https://data-make.tistory.com/699
[Spring Boot] Scheduler 사용해보기(일정 주기로 실행하는 스프링 스케쥴러)
The Scheduled Annotation in Spring @Scheduler 를 사용해서 일정한 시간 간격으로, 혹은 특정 일정에 코드가 실행되도록 해보자. Spring Scheduler Dependency Spring Boot starter 에 기본적으로 의존 org.spri..
data-make.tistory.com
728x90'개발기록' 카테고리의 다른 글
[Spring Boot] Jasypt를 통한 암복호화 - application.properties에서 db 암호화 (0) 2022.09.21 [Spring Boot] Gradle 프로젝트에 외부 라이브러리(*.jar) 추가하는 방법 (0) 2022.09.21 [Spring Boot] request, response 로그 남기기2 - logback(파일로 로그 남기기) (1) 2022.09.14 [Spring Boot] request, response 로그 남기기1 - Console (0) 2022.09.13 [Spring Boot] application.properties에서 *.java로 property 가져오기 (0) 2022.09.06