要讓Quartz插件定時執行任務,首先需要創建一個Job類,繼承自Quartz的Job接口,并實現execute方法。然后創建一個Trigger對象,指定任務的執行時間和頻率。最后將Job和Trigger通過Scheduler對象進行關聯,即可實現定時執行任務。
以下是一個簡單的示例代碼,演示如何使用Quartz插件定時執行任務:
import org.quartz.*;
import org.quartz.impl.StdSchedulerFactory;
public class MyJob implements Job {
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
System.out.println("定時任務執行:" + System.currentTimeMillis());
}
public static void main(String[] args) {
try {
// 創建Scheduler實例
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
// 創建JobDetail對象,指定Job類
JobDetail jobDetail = JobBuilder.newJob(MyJob.class)
.withIdentity("myJob")
.build();
// 創建Trigger對象,指定執行時間和頻率
Trigger trigger = TriggerBuilder.newTrigger()
.withIdentity("myTrigger")
.startNow()
.withSchedule(SimpleScheduleBuilder.simpleSchedule()
.withIntervalInSeconds(10)
.repeatForever())
.build();
// 將Job和Trigger關聯到Scheduler
scheduler.scheduleJob(jobDetail, trigger);
// 啟動Scheduler
scheduler.start();
// 等待任務執行
Thread.sleep(60000);
// 關閉Scheduler
scheduler.shutdown();
} catch (SchedulerException | InterruptedException e) {
e.printStackTrace();
}
}
}
以上代碼創建了一個簡單的定時任務,每隔10秒輸出當前時間戳。通過Scheduler對象控制任務的啟動和關閉。您可以根據自己的需求,修改執行時間和任務內容。