要让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对象控制任务的启动和关闭。您可以根据自己的需求,修改执行时间和任务内容。