Java の cron 式は 10 分ごとに実行されます

Java では、Quartz フレームワークを使用して、Cron 式を使用してタスクの実行時間を定義するなど、タスクを定義およびスケジュールできます。以下は、Quartz フレームワークを使用して 10 分ごとにタスクを実行する例です。

Quartz の依存関係を追加する

Maven プロジェクトで、次の依存関係を pom.xml ファイルに追加します。

xml
<dependency>
    <groupId>org.quartz-scheduler</groupId>
    <artifactId>quartz</artifactId>
    <version>2.3.2</version>
</dependency>
编写任务类

Java クラスを作成し、Quartz の Job インターフェイスを実装し、execute メソッドをオーバーライドします。次に例を示します。

java
public class MyJobimplements Job {     @Override     public voidexecute(JobExecutionContext context) throws JobExecutionException {         // タスクロジックコード     } }タスクスケジューリングクラスの書き込み





Quartz の JobDetail クラスと Trigger クラスを使用してタスクとトリガーを定義する Java クラスを作成します。次に例を示します。

java
インポート org.quartz.*;
org.quartz.impl.StdSchedulerFactory をインポートします。
インポート java.text.ParseException;
インポート java.text.SimpleDateFormat;
java.util.Dateをインポートします。
java.util.HashMapをインポートします。
java.util.Mapをインポートします。

public class MyScheduler {     public static void main(String[] args) throws ParseException, SchedulerException { //         スケジューラ ファクトリを作成します         SchedulerFactorySchedulerFactory = new StdSchedulerFactory(); //         スケジューラ インスタンスを作成します         SchedulerScheduler =SchedulerFactory.getScheduler();         // JobDetail インスタンスを作成し、タスク クラスと名前を指定します         JobDetail jobDetail = JobBuilder.newJob(MyJob.class )                 .withIdentity("myJob", "group1")                 .build();         // トリガー インスタンスを作成し、トリガー式と名前を指定します         Trigger トリガー = TriggerBuilder.newTrigger()                 .withIdentity("myTrigger", "group1" )












                .withSchedule(CronScheduleBuilder.cronSchedule("0 0/10 * * * ?")) //
                .build() を 10 分ごとに実行;
        // JobDetail と Trigger をバインドしてスケジューラに追加
        .scheduler.scheduleJob(jobDetail,trigger);
        // スケジューラを起動Scheduler.start
        ();
    }
}

上記のコードでは、CronScheduleBuilder の cronSchedule メソッドを使用して、10 分ごとに実行される Cron 式を作成します。次に、JobDetail と Trigger をバインドし、スケジューラに追加します。最後に、スケジューラーを起動するだけです。

おすすめ

転載: blog.csdn.net/luansj/article/details/131209056