Spring 3.0 式言語で @Scheduled(fixedDelay) をパラメータ化するにはどうすればいいですか? 質問する

Spring 3.0 式言語で @Scheduled(fixedDelay) をパラメータ化するにはどうすればいいですか? 質問する

fixedDelaySpring 3.0 の機能を使用してスケジュールされたタスクに注釈を付ける場合、現在のようにタスク クラスにハードワイヤリングするのではなく、構成ファイルから as パラメータを設定したいと思います...

@Scheduled(fixedDelay = 5000)
public void readLog() {
        ...
}

残念ながら、Spring Expression Language (SpEL) を使用すると、パラメータ@Valueで要求されている long 値に自動的にボックス化できない String オブジェクトが返されるようですfixedDelay

ベストアンサー1

Spring v3.2.2 では、これを処理するために、元の 3 つの長いパラメータに String パラメータが追加されました。fixedDelayStringfixedRateString利用initialDelayStringできるようになりました。

@Scheduled(fixedDelayString = "${my.fixed.delay.prop}")
public void readLog() {
        ...
}

おすすめ記事