使用默认值

时间:2016-08-31 11:21:24

标签: java scheduled-tasks spring-scheduled

我需要使用我的属性文件中的值(如果存在)来参数化@Scheduled方法,如果不存在,则需要使用默认值。

我们可以通过以下方式从配置文件属性进行参数化:

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

但如果该属性不存在,我们将有一个运行时异常。

我尝试使用默认值为@ConfigurationProperties的bean,但没有成功:

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

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

    // getter and setter
}

如何避免这种情况并传递默认值?

1 个答案:

答案 0 :(得分:5)

您可以在占位符中添加默认值,如下所示:

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