依赖
在 pom.xml 增加下面依赖
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.3.2</version>
</dependency>
要执行的类
package std;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class PrintJob implements Job {
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
String printTime = new SimpleDateFormat("yy-MM-dd HH-mm-ss").format(new Date());
System.out.println("时间:" + printTime);
}
}
定时执行
package std;
import org.quartz.*;
import org.quartz.impl.StdSchedulerFactory;
import java.util.concurrent.TimeUnit;
public class Test {
public static void main(String[] args) throws SchedulerException, InterruptedException {
// 1、创建调度器Scheduler
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
// 2、创建JobDetail实例,并与PrintWordsJob类绑定(Job执行内容)
JobDetail jobDetail = JobBuilder.newJob(PrintJob.class)
.withIdentity("job1", "group1").build();
// 3、构建Trigger实例,每隔1s执行一次
Trigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger1", "triggerGroup1")
.startNow()//立即生效
.withSchedule(
SimpleScheduleBuilder
.simpleSchedule()
.withIntervalInSeconds(1)//每隔1s执行一次
.repeatForever()//一直执行
)
.build();
//4、将 Trigger触发器 和 Job任务 结合起来
scheduler.scheduleJob(jobDetail, trigger);
System.out.println("--------scheduler start ! ------------");
//5、启动
scheduler.start();
//休眠5秒后,停止执行
TimeUnit.SECONDS.sleep(5);
//6、关闭
scheduler.shutdown();
System.out.println("--------scheduler shutdown ! ------------");
}
}
参考:https://blog.csdn.net/noaman_wgs/article/details/80984873