반응형
Spring 또는 Spring boot를 사용하면서 batch 작업을 하기 위해 cron scheduler를 사용하는데요.
프로그램을 수정하지 않고 설정만으로 cron scheduler를 disable 해야 하는 경우가 있습니다.
1. cron 옵션 처리
당연한 말이지만 설정으로 cron을 disable 하려면 cron이 옵션처리가 되어있어야 합니다.
1.1. application.properties 설정
다음과 같이 application.properties에 옵션을 추가합니다.
이 설정은 매일 11시에 batch를 실행하라는 것입니다.
config.cronExpression=0 0 11 * * *
1.2. @Scheduled annotation 변경
application.properties의 config.cronExpression의 값을 사용하고, 만약 값이 없으면 default 값을 사용하도록 하는 설정입니다.
@Scheduled(cron = "${config.cronExpression:0 0 11 * * *}")
2. disable 하는 방법
방법 1. 2099년으로 설정
당연하지만, 2099년으로 하면 날짜가 아직 안됐기 때문에 실행이 되지 않습니다.
config.cronExpression=59 59 23 31 12 ? 2099
방법 2. "-" 설정
spring 5.1.0부터 "-"을 사용할 수 있습니다.
config.cronExpression="-"
728x90
반응형
'back end > java' 카테고리의 다른 글
java - Find a line in a file and remove it (0) | 2023.01.01 |
---|---|
[Spring] MariaDB log4jdbc Cannot create JDBC driver error (2) | 2022.12.22 |
spring boot restful api에서 대용량 엑셀 다운로드 (0) | 2022.11.14 |
[java] 특정 범위 내에서의 임의의 정수 생성하는 방법 (0) | 2022.11.13 |
[java] class의 모든 field 가져오기 (private 포함) (0) | 2022.11.10 |