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 をバインドし、スケジューラに追加します。最後に、スケジューラーを起動するだけです。