在Java中使用Quartz需要先引入Quartz的依賴包,然后創建一個調度器(Scheduler)對象,通過調度器對象來創建任務和觸發器,并將任務和觸發器關聯起來。
以下是一個簡單的示例:
<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 {
// 創建任務
JobDetail job = JobBuilder.newJob(MyJob.class)
.withIdentity("myJob")
.build();
// 創建觸發器,每隔一秒執行一次
Trigger trigger = TriggerBuilder.newTrigger()
.withIdentity("myTrigger")
.withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(1).repeatForever())
.build();
// 創建調度器
SchedulerFactory schedulerFactory = new StdSchedulerFactory();
Scheduler scheduler = schedulerFactory.getScheduler();
scheduler.start();
// 將任務和觸發器關聯起來
scheduler.scheduleJob(job, trigger);
} catch (Exception e) {
e.printStackTrace();
}
}
}
通過以上代碼,我們創建了一個簡單的Quartz應用,每隔一秒執行一次打印"Hello, Quartz!"的任務。你可以根據自己的需求來調整任務的執行時間規則和任務邏輯。