在我的應用程序中,我有方法注釋@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}"我該如何解決?預期行為 - 只是在沒有提供財產(chǎn)的情況下不要開始工作
2 回答

喵喔喔
TA貢獻1735條經(jīng)驗 獲得超5個贊
你可以嘗試這樣的事情:@Scheduled(cron="${my.cron.prop:0 0 0 1 1 ? 2090}")
在這種情況下,如果找不到該屬性,Spring 將使用您提供的默認值(在我的示例中為 2090 年)。

湖上湖
TA貢獻2003條經(jīng)驗 獲得超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
提交
取消