[Spring] 스케쥴러 구현
프로젝트에서 일정 시간마다 초기화해줘야 하는 작업이 필요해서 찾아보던 중 스케쥴러를 통해 구현할 수 있다는걸 알게됐다!
다음은 구현한 내용을 정리했다.
구현
@EnableScheduling
main()
이 있는 함수에 @EnableScheduling
을 먼저 설정해주자.
@EnableScheduling
@SpringBootApplication
public class MallApplication {
public static void main(String[] args) {
SpringApplication.run(MallApplication.class, args);
}
}
스케쥴러 설정
일정 주기마다 수행할 작업을 정의할 스케쥴러 클래스 PrintScheduler
생성 후 컴포넌트 스캔이 되도록 @Component
를 등록해주자.
printDaily()
를 일정 주기마다 호출하도록 @Scheduled
를 설정했는데, fixedDelay
에 원하는 값을 적어주면 된다.
아래는 하루에 1번 호출될 수 있도록 1000 * 60 * 60 * 24
로 설정해줬다.
@Component
public class PrintScheduler {
private final int day = 1000 * 60 * 60 * 24;
@Scheduled(fixedDelay = day)
public void printDaily() {
System.out.println("hello, world!");
}
}
댓글남기기