スプリングブート使用タイマーの使用方法@scheduledアノテーションを追加して、クロンパラメーターを設計します
パッケージcom.clsystem.comm; import org.springframework.scheduling.annotation.scheduled;/** *は2017-11-10にプディングによって作成されました。 //ビジネスロジック}}
動的タイマーの実装は、SchedulingConfigurerクラスの実装方法を継承することも非常に簡単です。
パッケージcom.clsystem.comm; Import com.clsystem.util.dateutil; Import org.springframework.beans.factory.annotation.autowired; Import org.springframework.scheduling.trigger; Import org.springframework.scheduling.triggercontext; Import; org.springframework.scheduling.annotation.schedulingconfigurer; Import org.springframework.scheduling.config.scheduledtaskregistrar; Import org.springframework.scheduling.support.crontrigger; Import.springFramework.Support.Support.crontrigger; java.util.calendar; Import Java.util.date;/*** 2017-11-15にPuddingによって作成されました。 (ダイナミックタイマーは、チェックインの10分前にメッセージをプッシュするために使用されます)(!目覚まし時計) @Override public void configureTasks(scheduledtaskregistrar taskregistrar){taskregistrar.addtriggertask(new runnable(){@override public void run(){// business logic system.out.println( "reminder check-in");}} triggerContext){//次のタイマーinteger day = dateutil.getday(); //今日の平日+= 1; morntime.indexof( ":"); integer beforemorntimehour.parseint(morntime.substring(0、j));日付(beforemorntime); minute cal.get(カレンダー); trigger.nextexecutiontime(triggercontext); }}Cronパラメーターの基本的な使用法:
●Asterisk():すべてのフィールドで使用して、たとえば分野で、対応する時間領域で各モーメントを表すことができます。「1分あたり」を意味します。
●質問マーク(?):この文字は、日付と週のフィールドでのみ使用され、通常はドット文字に相当する「意味のない値」として指定されます。
●マイナスサイン( - ):範囲を表現します。 「10-12」が時間フィールドで使用されている場合、10〜12ポイント、つまり10、11、12を意味します。
●コンマ(、):リスト値を表現します。今週のフィールドで「月、水、金」を使用する場合、それは月曜日、水曜日、金曜日を意味します。
●Slash(/):x/yは等段階のシーケンスを表し、xは開始値、yはインクリメンタルステップ値です。分野で0/15を使用する場合、0、15、30、45秒として表され、5/15は分野で5、20、35、50を意味します。
●L:このキャラクターは、「最後」の意味を表す日付と週のフィールドでのみ使用されますが、2つのフィールドでは異なって意味します。日付のLフィールドは、1月31日や2月28日など、月の最終日を示しています。週にLが使用される場合、土曜日を示します。これは7に相当します。ただし、週のフィールドにLが表示され、値Xが先行する場合、「月の最後のX日」を意味します。たとえば、6Lは月の最後の金曜日を意味します。
●W:このキャラクターは、日付フィールドにのみ表示され、主要な日付の変更であり、日付に最も近い就業日を示しています。たとえば、15Wはその月の15日に最も近い勤務日を表しています。月の15日が土曜日である場合、それは14日金曜日と一致します。月の15日が日曜日の場合、16日の月曜日と一致します。月の15日が火曜日である場合、それは15日火曜日です。ただし、関連する一致日をその月に越えることはできないことに注意する必要があります。 1Wを指定する場合、1日目が土曜日の場合、結果は先月の最終日ではなく月曜日3と一致します。 W文字列は単一の日付のみを指定できますが、日付範囲を指定することはできません。
●LWの組み合わせ:LWは日付フィールドで使用できます。これは、月の最後の営業日を意味します。
●キーサイン(#):このキャラクターは、週のフィールドでのみ使用でき、月の営業日を表します。たとえば、6#3は月の第3金曜日を表します(6は金曜日を表し、#3は現時点で3番目の金曜日を表します)、4#5は月の第5水曜日を表します。
●C:このキャラクターは、「カレンダー」の意味を表す日付と週のフィールドでのみ使用されます。これは、計画に関連付けられた日付を意味し、日付が関連付けられていない場合、カレンダーのすべての日付と同等です。たとえば、日付フィールドの5cは、カレンダーの5日目の最初の日と同等です。 1Cは、週の日曜日のフィールドの最初の日と同等です。
クロンの表現は、特殊文字の場合に敏感ではなく、今週の英語の場合の略語に敏感ではありません。
表2に、以下の完全なクロン表現の例を示します。
クロンの表現は「0 0 12 *?」を意味しますトリガー "0 15 10? * *"トリガー "0 15 10 *?"トリガー「0 15 10 *?」トリガー "0 15 10 * *? *"トリガー "0 15 10 *? *"トリガー "0 15 10 *?2005"トリガー "0 * 14 *?"トリガー「0 0/5 14 *?」トリガー「0 0/5 14 *?」トリガー「0/5 14,18 *?」トリガー「0/5 14,18 *?」トリガー「0/5 14,18 *?」 0 0-5 14 * *? "毎日2:00から14:05まで5分ごとに「0 10,44 14? 3月水曜日3月の毎週水曜日」0 15 10? *月曜日、毎週月曜日、火曜日、水曜日、木曜日、金曜日。
要約します
上記は、編集者が紹介したスプリングブートダイナミックタイマーの使用です。それがあなたに役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!