개발/JAVA

[JAVA] Spring Scheduled cron 표현식 매월 마지막 전날

TaeDy.I.T. 2024. 3. 8. 10:27
반응형

안녕하세요. 오늘은 @Scheduled cron 표현식에 대해 알아보겠습니다.

 

프로그램을 만들다 보면 주기적으로 데이터를 수집해야 한다거나 정산을 해야 한다거나 해야 할때가 있습니다.

이럴 때  Scheduled cron 표현식을 사용하면 원하는 시간과 날짜마다 작업을 수행 할 수 있습니다.

 

Scheduled cron
Scheduled cron

1번: 초(0~59)

2번: 분(0~59)

3번: 시(0~23)

4번: 일(1~31)

5번: 월(1~12)

6번: 요일(0~7) 

- 0, 7: 일요일

- 1 : 월요일

- 2 : 화요일

- 3 : 수요일

- 4 : 목요일

- 5 : 금요일

- 6 : 토요일

 

표현 특수문자 설명
* 모든 조건
? 특정한 값이 없음
-(하이픈) 범위를 지정
,(콤마) 여러 특별한 값을 지정
/(슬래쉬) 초기값과 증가치를 설정
L 지정할 수 있는 범위의 마지막 값
W 가장 가까운 평일

 

위와 같이 표현식을 알아보았고 몇가지 예제로 좀 더 쉽게 알아보겠습니다.

 

cron 표현식 빈도
@Scheduled(cron = "0 0 15 L-1 * ?") 매월 말일 하루전 15시 0분 0초 마다 실행
@Scheduled(cron = "0 0/5 * * * ?") 매월 매일 매시 5분 0초 마다 실행
@Scheduled(cron = "0 0 10 5,10,15 * *") 매월 5, 10, 15일 10시 0분 0초마다 실행

 

몇가지 예제로 알아보았고 본인의 cron 표현식이 맞는지 검증하고 알아보고 싶을때는

http://www.cronmaker.com/

 

CronMaker

 

www.cronmaker.com

위 사이트를 참고하면 쉽게 알아볼수있습니다.

 

이상 @Scheduled cron 표현식에 대해 알아보았습니다.

반응형