java quartz如何使用
Java Quartz 使用指南
添加依赖
在 Maven 项目中添加 Quartz 依赖:
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.3.2</version>
</dependency>
创建任务类
实现 Job 接口并重写 execute 方法,定义具体任务逻辑:
public class MyJob implements Job {
@Override
public void execute(JobExecutionContext context) {
System.out.println("任务执行: " + new Date());
}
}
配置调度器
通过 SchedulerFactory 获取调度器实例:

SchedulerFactory schedulerFactory = new StdSchedulerFactory();
Scheduler scheduler = schedulerFactory.getScheduler();
scheduler.start();
定义任务详情
使用 JobBuilder 创建任务详情,绑定任务类:
JobDetail jobDetail = JobBuilder.newJob(MyJob.class)
.withIdentity("myJob", "group1")
.build();
设置触发器
通过 TriggerBuilder 配置触发规则(如每 10 秒执行一次):

Trigger trigger = TriggerBuilder.newTrigger()
.withIdentity("myTrigger", "group1")
.startNow()
.withSchedule(SimpleScheduleBuilder.simpleSchedule()
.withIntervalInSeconds(10)
.repeatForever())
.build();
启动任务
将任务和触发器绑定到调度器:
scheduler.scheduleJob(jobDetail, trigger);
关闭调度器
任务完成后需关闭调度器释放资源:
scheduler.shutdown();
Cron 表达式示例
复杂调度规则可使用 Cron 表达式(如每天 12:00 执行):
Trigger cronTrigger = TriggerBuilder.newTrigger()
.withIdentity("cronTrigger", "group1")
.withSchedule(CronScheduleBuilder.cronSchedule("0 0 12 * * ?"))
.build();
注意事项
- 调度器需显式调用
start()才会开始执行任务 - 同一任务可绑定多个触发器
- 持久化任务需配置
JobStore(如JDBCJobStore) - 集群环境下需配置
org.quartz.jobStore.isClustered=true






