266

Spring cron 式に基づいて、コードを固定スケジュールで実行しようとしています。コードを毎日午前 1 時 1 分に実行したいと考えています。次の表現を試してみましたが、これは私にとってはうまくいきませんでした。ここの構文の何が問題になっていますか?

@Scheduled(cron = "0 1 1 ? * *")
public void resetCache() {
    // ...
}
4

6 に答える 6

24

でメソッドに注釈を付けることができます@Scheduled(cron ="0 1 1 * * ?")

0 - 秒です

1~1分

1 - 1 日の 1 時間。

于 2014-10-01T19:01:43.010 に答える
14

ジピナニの答えに欠けているもの

@Scheduled(cron = "0 1 1,13 * * ?", zone = "CST")

これは 1.01 と 13.01 で実行されます。パターンなしで 1 日に複数回ジョブを実行する必要がある場合に使用できます。

また、ゾーン属性は、リモート サーバーで展開を行う場合に非常に役立ちます。これは、Spring 4 で導入されました。

于 2016-06-08T18:29:10.110 に答える
6

私が気づいたことの1つは、春のCronTriggerがcronではないということです。有効な cron 式 (cronmaker.com で検証できます) に 7 つのパラメーターが含まれてしまい、それを受け入れない場合があります。ほとんどの場合、最後のパラメーターを削除するだけで、すべて正常に動作します。

于 2016-07-21T20:50:23.883 に答える