import org.quartz.CronScheduleBuilder;
import org.quartz.JobBuilder;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.Trigger;
import org.quartz.TriggerBuilder;
import org.quartz.impl.StdSchedulerFactory;
public class CronExample {
public static void main(String[] args) {
try {
// 创建调度器
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
// 定义作业任务
JobDetail job = JobBuilder.newJob(MyJob.class)
.withIdentity("myJob", "group1")
.build();
// 定义触发器,使用Cron表达式
Trigger trigger = TriggerBuilder.newTrigger()
.withIdentity("myTrigger", "group1")
.withSchedule(CronScheduleBuilder.cronSchedule("0 0/5 * * * ?")) // 每5分钟执行一次
.build();
// 将作业和触发器注册到调度器中
scheduler.scheduleJob(job, trigger);
// 启动调度器
scheduler.start();
} catch (SchedulerException se) {
se.printStackTrace();
}
}
// 自定义作业类
public static class MyJob {
public MyJob() {
}
public void execute() {
System.out.println("Hello Quartz!");
}
}
}
引入Quartz库:此代码示例使用了Quartz库来实现定时任务。你需要在项目中添加Quartz依赖。
创建调度器:通过StdSchedulerFactory.getDefaultScheduler()获取一个调度器实例。
定义作业任务:使用JobBuilder.newJob()创建一个新的作业任务,并指定作业类为MyJob。
定义触发器:使用TriggerBuilder.newTrigger()创建一个新的触发器,并通过CronScheduleBuilder.cronSchedule()指定Cron表达式。这里的Cron表达式"0 0/5 * * * ?"表示每5分钟执行一次任务。
注册作业和触发器:通过scheduler.scheduleJob(job, trigger)将作业和触发器注册到调度器中。
启动调度器:调用scheduler.start()启动调度器,开始执行定时任务。
自定义作业类:MyJob类是自定义的作业类,实现了具体的业务逻辑。在这个例子中,它只是简单地打印一条消息。
如果你需要更详细的解释或其他帮助,请告诉我!
上一篇:创造指令java
下一篇:java record关键字
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站