Spring & Spring Boot

[ Spring-Boot ] Scheduler 사용하기

사과씨앗 2021. 5. 19. 15:40
728x90
반응형

안녕하세요 이번 글에서는 Boot에서 Scheduler를 사용해 보겠습니다!

 

스케줄링은 특정 기간을 지정하여 원하는 작업을 실행시키는 프로세스입니다.

 

Spring Boot에서 스케쥴러를 사용하기 위해서 SpringApplication에  @EnableScheduling 선언하여 줍니다.

@SpringBootApplication
@EnableScheduling // 스케줄러 사용을 위해 선언
public class SongJavaSpringApplication {

    public static void main(String[] args) {
        SpringApplication.run(SongJavaSpringApplication.class, args);
    }

}

 

그다음 스케줄링 작업을 진행할 클래스를 만들어 줍시다. 

 

@Component //Component 스캔을 통하여 빈으로 등록하여 준다
public class ExampleScheduler {

    Logger logger = LoggerFactory.getLogger(getClass());


    @Scheduled(cron = "*/5 * * * * *") // 해당 메소드를 5초에 한번 씩 동작
    public void schedule1(){
        logger.info("schedule1 동작하고 있음 : {}", Calendar.getInstance().getTime());
    }
}

 이제 서버를 실행시켜 보면

 

위 화면처럼 스케쥴링이 5초마다 작동하는 것을 확인할 수 있습니다.

 

cron 설정 시 작동 주기 설정 방법


*           *      *      *      *      *
초(0-59)   분(0-59)  시간(0-23)  일(1-31)  월(1-12)  요일(0-7) 
각 별 위치에 따라 주기를 다르게 설정할 수 있다.
순서대로 초-분-시간-일-월-요일 순이다. 그리고 괄호 안의 숫자 범위 내로 별 대신 입력할 수도 있다.
요일에서 0과 7은 일요일이며, 1부터 월요일이고 6이 토요일이다.

 

참고 : http://jmlim.github.io/spring/2018/11/27/spring-boot-schedule/

 

스프링부트에서 Scheduling 사용하기 · 기억하기 위한 개발노트

스프링부트에서 Scheduling 사용하기 27 Nov 2018 | Spring Java 스케줄링은 특정 기간 동안 작업을 실행하는 프로세스이다. Spring Boot를 통해 Spring에서 지원하는 스케줄러를 간편하게 작성할 수 있다. Sched

jmlim.github.io

 

감사합니다~

728x90
반응형