[开发|java] org.quartz 使用cron表达式
org.quartz 是一个开源的任务调度框架,用于在Java应用程序中实现任务的定时执行。它支持多种触发器类型,其中一种是使用 cron 表达式进行任务调度。
cron表达式介绍
以下是一个使用 org.quartz 和 cron 表达式的简单代码示例:
import org.quartz.*;
import org.quartz.impl.StdSchedulerFactory;
public class QuartzCronExample {
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/5 * * * * ?")) // 每5秒触发一次
.build();
// 将任务和触发器添加到调度器中
scheduler.scheduleJob(job, trigger);
// 启动调度器
scheduler.start();
// 让程序运行一段时间
Thread.sleep(60000);
// 关闭调度器
scheduler.shutdown();
} catch (SchedulerException | InterruptedException e) {
e.printStackTrace();
}
}
public static class MyJob implements Job {
public void execute(JobExecutionContext context) throws JobExecutionException {
// 在这里定义任务执行的逻辑
System.out.println("Job executed!");
}
}
}
还没有评论,来说两句吧...