2016-08-31 3 views
0

@Scheduled 메서드가있는 경우 내 속성 파일의 값을 사용하여 매개 변수화하거나 그렇지 않은 경우 기본값을 매개 변수화해야합니다.스프링 매개 변수화 기본값으로 @Scheduled

@Scheduled(cron = "${my.task.cron-exec-expr}") 
public void scheduledTask() { 
    // do something 
} 

을하지만 속성이 존재하지 않는 경우 우리는 런타임 예외를해야합니다 :

우리는 다음과 같은 방법으로 구성 파일 속성에서 매개 변수화 할 수 있습니다.

내가 성공하지, 기본 값으로 @ConfigurationProperties 콩을 사용하여 시도했다 :

@Component 
@ConfigurationProperties(prefix = "my.task") 
public class MyTaskProperties { 

    private String cronExecExpr = "*/5 * * * * *"; 

    // getter and setter 
} 

어떻게 그것을 방지하고 기본 값을 전달?

답변

2

이 같은 자리에 기본값을 추가 할 수 있습니다

@Scheduled(cron = "${my.task.cron-exec-expr:*/5 * * * * *}") 
+0

쿨! 고맙습니다. – s1moner3d