在我的应用程序中,我有方法注释@Scheduled(cron="${my.cron.prop}")我没有my.cron.prop属性文件,我的工作只是没有开始,但应用程序成功启动。但是当我添加依赖时:compile ("de.codecentric:spring-boot-admin-starter-client:1.5.7")我的应用程序无法启动:Caused by: java.lang.IllegalStateException: Encountered invalid @Scheduled method 'reportCurrentTime': Could not resolve placeholder 'my.cron.prop' in value "${my.cron.prop}"我该如何解决?预期行为 - 只是在没有提供财产的情况下不要开始工作
2 回答

喵喔喔
TA贡献1735条经验 获得超5个赞
你可以尝试这样的事情:@Scheduled(cron="${my.cron.prop:0 0 0 1 1 ? 2090}")
在这种情况下,如果找不到该属性,Spring 将使用您提供的默认值(在我的示例中为 2090 年)。

湖上湖
TA贡献2003条经验 获得超2个赞
我猜你的应用程序没有@EnableScheduling,spring-boot-admin-starter-client有。
您可以通过提供默认值来避免这种情况:查看其他答案
解决此问题的更好方法是在属性可用时使用专用组件启动您的工作
@Component
@ConditionalOnProperty( name = "my.cron.prop" )
public class Tasks {
@Scheduled(cron = "${my.cron.prop}")
public void task() {
/*do your suff*/
}
添加回答
举报
0/150
提交
取消