李林超博客
首页
归档
留言
友链
动态
关于
归档
留言
友链
动态
关于
首页
Java
正文
02.Quartz入门案例
Leefs
2021-08-30 AM
2036℃
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
工具
31
其它
25
GO
48
NLP
8
标签云
Stream流
Shiro
Hadoop
Zookeeper
人工智能
LeetCode刷题
Java阻塞队列
BurpSuite
队列
SQL练习题
SpringCloudAlibaba
数据结构
Tomcat
Spark Streaming
Quartz
栈
Yarn
Http
JavaSE
Thymeleaf
Beego
Scala
Hbase
锁
随笔
Golang基础
查找
Map
VUE
SpringCloud
友情链接
申请
范明明
庄严博客
Mx
陶小桃Blog
虫洞