최대 1 분 소요

프로젝트에서 일정 시간마다 초기화해줘야 하는 작업이 필요해서 찾아보던 중 스케쥴러를 통해 구현할 수 있다는걸 알게됐다!
다음은 구현한 내용을 정리했다.

구현

@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!");
    }
}

References

카테고리:

업데이트:

댓글남기기