Quartz是一個開源的Java作業調度框架,它可以用于執行定時任務。在Quartz中,有兩種主要的觸發器:SimpleTrigger和CronTrigger。SimpleTrigger用于執行簡單的定時任務,如每隔一段時間執行一次。
SimpleTrigger的設置方法如下:
import org.quartz.SimpleScheduleBuilder;
import org.quartz.Trigger;
import org.quartz.TriggerBuilder;
// 創建一個TriggerBuilder實例
TriggerBuilder<Trigger> triggerBuilder = TriggerBuilder.newTrigger();
// 為TriggerBuilder設置一個名稱和分組
triggerBuilder.withIdentity("triggerName", "triggerGroup");
// 使用SimpleScheduleBuilder創建一個簡單的調度計劃
SimpleScheduleBuilder scheduleBuilder = SimpleScheduleBuilder.simpleSchedule();
// 設置調度計劃的參數,例如每隔5秒執行一次
scheduleBuilder.withIntervalInSeconds(5);
// 將調度計劃添加到TriggerBuilder中
triggerBuilder.withSchedule(scheduleBuilder);
// 構建SimpleTrigger實例
Trigger simpleTrigger = triggerBuilder.build();
import org.quartz.Job;
import org.quartz.JobDetail;
import org.quartz.JobExecutionContext;
public class MyJob implements Job {
@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
// 在這里編寫你的任務邏輯
}
}
// 創建一個JobDetail實例
JobDetail jobDetail = JobBuilder.newJob(MyJob.class)
.withIdentity("jobName", "jobGroup")
.build();
// 將SimpleTrigger與JobDetail關聯
scheduler.scheduleJob(jobDetail, simpleTrigger);
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
// 創建一個SchedulerFactory實例
SchedulerFactory schedulerFactory = new StdSchedulerFactory();
// 獲取一個Scheduler實例
Scheduler scheduler = schedulerFactory.getScheduler();
// 啟動調度器
scheduler.start();
現在,你已經成功地創建了一個SimpleTrigger,并將其與一個JobDetail關聯。這個任務將每隔5秒執行一次。你可以根據需要調整SimpleScheduleBuilder的參數來修改任務的執行頻率。