私のアプリケーションでは、アノテーションが付けられたメソッドがあります @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}"
どうすれば修正できますか?
予想される動作-プロパティが提供されない場合はジョブを開始しないでください
あなたのアプリケーションはそうしなかったと思いますが@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*/
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加