在Java中使用Quartz需要先引入Quartz的依賴包,然后創(chuàng)建一個調(diào)度器(Scheduler)對象,通過調(diào)度器對象來創(chuàng)建任務(wù)和觸發(fā)器,并將任務(wù)和觸發(fā)器關(guān)聯(lián)起來。
以下是一個簡單的示例:
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.3.2</version>
</dependency>
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class MyJob implements Job {
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
System.out.println("Hello, Quartz!");
}
}
import org.quartz.JobBuilder;
import org.quartz.JobDetail;
import org.quartz.Trigger;
import org.quartz.TriggerBuilder;
import org.quartz.CronScheduleBuilder;
import org.quartz.SimpleScheduleBuilder;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.impl.StdSchedulerFactory;
public class Main {
public static void main(String[] args) {
try {
// 創(chuàng)建任務(wù)
JobDetail job = JobBuilder.newJob(MyJob.class)
.withIdentity("myJob")
.build();
// 創(chuàng)建觸發(fā)器,每隔一秒執(zhí)行一次
Trigger trigger = TriggerBuilder.newTrigger()
.withIdentity("myTrigger")
.withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(1).repeatForever())
.build();
// 創(chuàng)建調(diào)度器
SchedulerFactory schedulerFactory = new StdSchedulerFactory();
Scheduler scheduler = schedulerFactory.getScheduler();
scheduler.start();
// 將任務(wù)和觸發(fā)器關(guān)聯(lián)起來
scheduler.scheduleJob(job, trigger);
} catch (Exception e) {
e.printStackTrace();
}
}
}
通過以上代碼,我們創(chuàng)建了一個簡單的Quartz應(yīng)用,每隔一秒執(zhí)行一次打印"Hello, Quartz!"的任務(wù)。你可以根據(jù)自己的需求來調(diào)整任務(wù)的執(zhí)行時間規(guī)則和任務(wù)邏輯。