Quartz使用
官网:http://www.quartz-scheduler.org/
快速使用
官方文档:http://www.quartz-scheduler.org/documentation/quartz-2.3.0/quick-start.html
- 引入依赖:
<dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.3.2</version> </dependency>
- 定义job
- 定义触发器
- 让quartz使用trigger调度job
public class QuartzTest { private static final Logger log = LoggerFactory.getLogger(QuartzTest.class); public static void main(String[] args) { try { //获取Scheduler实例 Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler(); //内部会启动线程 start之后应用不会退出 除非执行shutdown scheduler.start(); //定义job JobDetail job = JobBuilder.newJob(HelloJob.class) .withIdentity("job1", "group1") .build(); //定义触发器 SimpleTrigger trigger = TriggerBuilder.newTrigger() .withIdentity("trigger1", "group1") .startNow() .withSchedule(SimpleScheduleBuilder.simpleSchedule() .withIntervalInSeconds(2) .repeatForever()) .build(); //让quartz使用trigger调度job scheduler.scheduleJob(job, trigger); // scheduler.shutdown(); } catch (SchedulerException e) { e.printStackTrace(); } } public static class HelloJob implements Job { @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { log.info("do executing helloJob"); } } }
下载
下载的压缩包里面包含了:
- 使用例子
- java文档
- 依赖的jar包
- 源码
配置
官方文档:http://www.quartz-scheduler.org/documentation/quartz-2.3.0/configuration/
quartz.properties
quartz默认使用quartz.properties文件进行配置,被StdSchedulerFactory加载使用,默认从当前工作目录中加载,如果加载不到,则从系统属性org.quartz.properties
指定配置文件加载;如果仍然加载不到则使用jar包里自带的quartz.properties。
或者new StdSchedulerFactory()
加载任意指定的配置文件,必须在getScheduler()
调用之前
教程
监听器
- JobListener
- TriggerListener
- SchedulerListener
触发器 - SimpleScheduleBuilder
- CronScheduleBuilder
常用utils - DateBuilder
---
本文来自博客园,作者:Bingmous,转载请注明原文链接:https://www.cnblogs.com/bingmous/p/17270224.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?