Quartz教程一:使用quartz
教程 quartz 使用
2023-09-14 08:56:48 时间
原文链接 | 译文链接 | 翻译:nkcoder | 校对:方腾飞
本系列教程由quartz-2.2.x官方文档翻译、整理而来,希望给同样对quartz感兴趣的朋友一些参考和帮助,有任何不当或错误之处,欢迎指正;有兴趣研究源码的同学,可以参考我对quartz-core源码的注释(进行中)。
Scheduler在使用之前需要实例化。一般通过SchedulerFactory来创建一个实例。有些用户将factory的实例保存在JNDI中,但直接初始化,然后使用该实例也许更简单(见下面的示例)。
scheduler实例化后,可以启动(start)、暂停(stand-by)、停止(shutdown)。注意:scheduler被停止后,除非重新实例化,否则不能重新启动;只有当scheduler启动后,即使处于暂停状态也不行,trigger才会被触发(job才会被执行)。
下面的代码片段,实例化并启动一个scheduler,调度执行一个job:
SchedulerFactory schedFact = new org.quartz.impl.StdSchedulerFactory(); Scheduler sched = schedFact.getScheduler(); sched.start(); // define the job and tie it to our HelloJob class JobDetail job = newJob(HelloJob.class) .withIdentity("myJob", "group1") .build(); // Trigger the job to run now, and then every 40 seconds Trigger trigger = newTrigger() .withIdentity("myTrigger", "group1") .startNow() .withSchedule(simpleSchedule() .withIntervalInSeconds(40) .repeatForever()) .build(); // Tell quartz to schedule the job using our trigger sched.scheduleJob(job, trigger);
你看到了,quartz的使用并不难。教程二会简要地介绍job和trigger,以及quartz的API,然后你会更好地理解上面的示例。
这种方式整合Quartz你见过吗? `Quartz`是一款优秀的任务调度框架,支持内存、JDBC的形式来存储未执行的任务列表,支持多个任务节点同时执行任务,支持任务漂移到不同的节点执行。
ali清英 方腾飞,花名清英,英文名kiral,并发编程网创始人,支付宝技术专家,《Java并发编程的艺术》作者。
相关文章
- 科研方法与学术论文写作_科技论文写作与发表教程第八版pdf
- 【宝塔面板】宝塔Linux面板安装教程详细步骤
- 2020idea安装教程_3dmax2020安装失败
- 《吐血整理》高级系列教程-吃透Fiddler抓包教程(31)-Fiddler如何抓取Android系统中Flutter应用程序的包
- k8s系列教程-初识k8s
- 【ES三周年】吊打ElasticSearch和Kibana(入门保姆级教程-2)
- WordPress 主题教程 #8:验证 XHTML
- PostgreSQL copy 命令教程详解
- 教程Linux操作系统入门指南(linux操作系统基础)
- 快速掌握JSP与MySQL的教程(jspmysql教程)
- 学会用MySQL Workbench管理数据库(mysqlworkbench使用教程)
- 解决MSSQL数据库中可靠调度的Quartz技术(quartz mssql)
- 32位系统下安装MySQL教程(32位系统下载mysql)
- 教程传智播客学习Redis,掌握实战视频教程(传智redis视频)
- ASP.NET之自定义异步HTTP处理程序(图文教程)