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