springbootは、定期的なタスクを導入しました
メインタスクのspringboot導入時期は、次の手順を実行する必要があります
。1.関連する依存関係を導入
設定プログラムタイマータスク2.を
3.タスクタイミングを用意します
その依存関係の導入
唯一の鉛ベースのWebは、それに依存します
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.2.1.RELEASE</version>
</dependency>
設定プログラムオープン定期的なタスク
それだけで、そのクラスのメイン関数Springboot上の1件のコメントを追加する必要があります
package com.jd;
/**
* 只需要在这里面加上一个@EnableScheduling这个注解就可以了
*/
@SpringBootApplication
@EnableScheduling
public class Demo {
public static void main(String[] args) {
SpringApplication.run(Demo.class, args);
}
}
スケジュールされたタスクが用意し
、次のようにタスクスケジュールされたタスクは、パッケージの下に配置され、一般的に:
package com.jd;
@Component
public class TestTask {
/**
* 定时任务的类和别的springBean没什么区别
* 方法上要加@Scheduled,里面写定时的cron表达式
*/
@Scheduled(cron = "0/5 * * * * *")
public void testSchedule(){
System.out.println(new Date());
System.out.println("这个是每5秒执行一次");
}
}
結果は:
一般的に使用されるのcron表現
学生に精通していないのcron式の場合、あなたはオンラインhttps://qqe2.com/cron生成するには、このウェブサイトに行くことができる
のcron式は、それぞれの顔を勉強し、前方から読み込まれる* XX、学校からの数字をXXは、すべての最後以上のプラスの実行を検討/ XXを経験して、始め
DEMOで説明したように
cron = "0/5 * * * * *"
毎週、毎年、毎月、毎日、毎時間、毎分は、5秒ごとに一度実行0秒から始まる
:というように、次のような共通の表現持っ
0 0/10 * *:実行するために10分ごとに* *
夜06時〇 〇一日一回実行:0018 * * *
毎月第1三時実行時間:0031 * *
DEMO总评
このタスクのタイミングは、このような項目を書くのは一般に小さく、実際の生産では、中央に設定し、スケジュールされたタスクへの分散フレームワークを使用し、様々な用途であっ散乱されることはありません、cronの発現における主な問題の嘘は、下手に書かれ、それが必要の書き込みのcron表現するために、より合計、