본문 바로가기
IT/Java

스프링 스케줄러(@Scheduled)

by 성준하이 2022. 5. 4.
반응형

반복적인 작업을 하기 위해서 다양한 방법들이 있다.

리눅스 상에서의 crontab이나 코드내부라면 while문과 sleep 를 합쳐서 만들수도 있을것이고 방법은 다양하겠지만 이번 포스팅에서는 스프링에서 crontab을 내장하여 사용하는것과 비슷한 스프링 스케줄러에 대해서 소개를 해볼것이다.

 

사용을 하기 위해서는 스키마를 먼저 등록하고 하단에 task:annotation-drive 태그를 입력한다.

그리고 메서드에 어노테이션을 설정한다.

방식은 다양하다.

fixed방식
@Scheduled(fixedDelay=1000)
public void test(){
    System.out.println("스케줄러입니다.");
}
  • fixedDelay 의 어노테이션 옵션의 1000은 ms단위이고 종료된 시간부터 이 시간이 지나고실행이 된다.
  • fixedRate의 어노테이션 옵션은 실행된 시간으로부터의 실행이 되고 실행된다.
cron방식
@Scheduled(cron = "*/5 * * * * *")
public void test2(){
    System.out.println("스케줄러입니다.");
}

리눅스 상의 crontab과 매우 유사하며 왼쪽부터 분, 시, 날짜, 달, 년, 요일 순서로 지정을 할수가 있다.

반응형

'IT > Java' 카테고리의 다른 글

swagger-ui 사용법  (24) 2022.06.30
ROOT CONTEXT  (44) 2022.06.28
빌드 관리도구 Maven / Gradle  (14) 2022.05.01
스프링부트 동작 원리  (19) 2022.04.30
equals 와 hashCode의 재정의를 같이 해야하는 이유  (16) 2022.04.26

댓글