李林超博客
首页
归档
留言
友链
动态
关于
归档
留言
友链
动态
关于
首页
Java
正文
02.Quartz入门案例
Leefs
2021-08-30 AM
2666℃
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. 组装上面的三个核心组件,运行代码。  ### 二、实现步骤 #### 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://lilinchao.com/archives/1402.html
上一篇
01.Quartz介绍
下一篇
【转载】03.Quartz触发器
取消回复
评论啦~
提交评论
栏目分类
随笔
2
Java
326
大数据
229
工具
35
其它
25
GO
48
NLP
8
标签云
NIO
栈
Shiro
VUE
算法
Elastisearch
递归
Spark
查找
序列化和反序列化
二叉树
Prometheus
Linux
DataWarehouse
人工智能
散列
国产数据库改造
JavaWeb
Beego
数学
gorm
Spark Streaming
CentOS
Map
容器深入研究
Python
Hbase
链表
FileBeat
队列
友情链接
申请
范明明
庄严博客
Mx
陶小桃Blog
虫洞