웹 개발

spring boot의 application.properties에서 @Scheduled의 cron값을 설정하는 방법

노루아부지 2022. 3. 13. 18:26

다음과 같은 코드가 있습니다.

@Component
@EnableScheduling
public class ScheduledTasks {
  @Autowired
  private TaskJob taskJob;

  @Scheduled(cron = "0 0/5 * * * ?")
  public void foo(){
    taskJob.doSomething();
  }
}

 

 

이 코드를 보면 @Scheduled(cron = "0 0/5 * * * ?") 라는 부분이 있는데, 이 부분을 수정해야 하는데, 이것을 수정하기 위해 다시 빌드를 하는건 곤란합니다.

이 경우 다음과 같이 손쉽게 처리할 수 있습니다.

 

application.properties에서 @Scheduled의 cron값을 설정하는 방법

 

1. 먼저, application.properties에 다음과 같이 설정을 추가합니다.

custom.cron=0/1 * * * * ?

 

2. 다음과 같이 @Scheduled를 수정합니다.

@Component
@EnableScheduling
public class ScheduledTasks {
  @Autowired
  private TaskJob taskJob;

  @Scheduled(cron = "${custom.cron}")
  public void foo(){
    taskJob.doSomething();
  }
}

 

 

 

출처: https://stackoverflow.com/questions/44513666/how-to-config-cron-value-of-scheduled-in-application-properties

 

 

728x90
loading