李林超博客
首页
归档
留言
友链
动态
关于
归档
留言
友链
动态
关于
首页
Java
正文
02.Quartz入门案例
Leefs
2021-08-30 AM
1018℃
0条
# 02.Quartz入门案例 ### 前言 Quartz官方文档还是比较详细的,大家也可以直接参考官网提供的入门案例: http://www.quartz-scheduler.org/documentation/2.3.2-SNAPSHOT/quick-start-guide.html ### 一、开发步骤 1. 引入Maven依赖,本次使用的是 2. 创建Job,被执行的内容。必须有一个实现了Job接口的类作为参数,实现该接口就是为了后面调用其实现的execute()方法。和线程的run方法类似(恰巧,线程实现Runnable接口,也叫任务task); 3. 创建trigger。时间触发了事情的执行; 4. 创建sheduler。一定要有谁来安排这么一个事情的执行; 5. 组装上面的三个核心组件,运行代码。 ![02.Quartz入门案例.jpeg](https://lilinchao.com/usr/uploads/2021/08/2489778187.jpeg) ### 二、实现步骤 #### 2.1 创建一个Maven项目,添加依赖 ```xml
org.quartz-scheduler
quartz
2.3.2
``` #### 2.2 创建Job实现类 ```java import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import java.text.SimpleDateFormat; import java.util.Date; /** * @author lilinchao * @date 2021/8/27 * @description 1.0 **/ public class HelloJob implements Job { @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { //打印当前执行时间 SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println("现在的时间是:"+ sf.format(new Date())); } } ``` #### 2.3 创建HelloScheduler类 ```java import org.quartz.*; import org.quartz.impl.StdSchedulerFactory; /** * @author lilinchao * @date 2021/8/27 * @description 1.0 **/ public class HelloScheduler { public static void main(String[] args) throws SchedulerException { //创建调度器Schedule SchedulerFactory schedulerFactory = new StdSchedulerFactory(); Scheduler scheduler = schedulerFactory.getScheduler(); //创建JobDetail实例,并与HelloJob类绑定 JobDetail jobDetail = JobBuilder .newJob(HelloJob.class) .withIdentity("job1", "jobGroup1") .build(); //创建触发器Trigger实例(立即执行,每隔1S执行一次) Trigger trigger = TriggerBuilder .newTrigger() .withIdentity("trigger1", "triggerGroup1") .startNow() .withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(1).repeatForever()) .build(); //开始执行 scheduler.scheduleJob(jobDetail, trigger); scheduler.start(); } } ``` **运行结果** ``` 现在的时间是:2021-08-27 09:26:41 现在的时间是:2021-08-27 09:26:42 现在的时间是:2021-08-27 09:26:43 现在的时间是:2021-08-27 09:26:44 现在的时间是:2021-08-27 09:26:45 现在的时间是:2021-08-27 09:26:46 现在的时间是:2021-08-27 09:26:47 现在的时间是:2021-08-27 09:26:48 现在的时间是:2021-08-27 09:26:49 现在的时间是:2021-08-27 09:26:50 ``` **程序说明** + 创建调度工厂();(工厂模式) + 根据工厂取得调度器实例(); (工厂模式) + Builder模式构建子组件
builder模式, 如JobBuilder、TriggerBuilder、DateBuilder + 通过调度器组装子组件 调度器.组装<子组件1,子组件2...> (工厂模式) + 调度器.start(); (工厂模式)
标签:
Quartz
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:
https://www.lilinchao.com/archives/1402.html
上一篇
01.Quartz介绍
下一篇
【转载】03.Quartz触发器
取消回复
评论啦~
提交评论
栏目分类
随笔
2
Java
326
大数据
229
工具
31
其它
25
GO
43
标签云
Docker
Java编程思想
BurpSuite
微服务
RSA加解密
高并发
Hive
Filter
Flink
工具
算法
Redis
Hbase
nginx
并发编程
容器深入研究
设计模式
队列
Elastisearch
国产数据库改造
链表
二叉树
Sentinel
线程池
稀疏数组
Shiro
持有对象
栈
Python
Stream流
友情链接
申请
范明明
庄严博客
Mx
陶小桃Blog
虫洞