1、什么是Quartz?

Quartz是一个完全由java编写的开源作业调度框架。

2、Quartz是用来做什么的?

Quartz是一个任务调度框架,比如你会遇到如下问题:

1)、每月25号,信用卡自动还款

2)、每天早上7:30闹钟

这些问题总结起来就是:在某一个有规律的时间点干某件事情,并且时间的触发条件可以非常复杂(比如每月最后一个工作日的17:50),复杂到需要一个专门的框架来干这件事。而quartz就是干这件事的,我们可以给它一个触发条件的定义,它负责到了时间点,触发相应的job起来干活。

3、Quartz入门示例

要求每隔2秒钟,打印hello world!

第一步、新建maven工程,结构如下图:

第二步、在pom.xml中导入所需要的jar包,如下:

<dependencies><!-- https://mvnrepository.com/artifact/org.quartz-scheduler/quartz --><dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz</artifactId><version>2.2.1</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency></dependencies>

第三步、HelloJob代码如下:

package com.cn.quartz;import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;import java.text.SimpleDateFormat;
import java.util.Date;/*** 实现Job类,重写execute()方法* */
public class HelloJob implements Job {@Overridepublic void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {//打印当前执行的时间Date date=new Date();SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");System.out.println("当前时间:"+sdf.format(date));//编写具体的业务逻辑System.out.println("hello world!");}
}

第四步、HelloScheduler代码如下:

package com.cn.quartz;import org.quartz.*;
import org.quartz.impl.StdSchedulerFactory;import java.text.SimpleDateFormat;
import java.util.Date;/*** 作业调度器* */
public class HelloScheduler {public static void main(String[] args) throws SchedulerException {//创建一个JobDetail实例,将该实例与HelloJob绑定JobDetail jobDetail= JobBuilder.newJob(HelloJob.class).withIdentity("myJob","group1").build();//创建一个Trigger实例,定义该job立即执行,并且每隔2秒钟重复执行一次Trigger trigger= TriggerBuilder.newTrigger().withIdentity("myTrigger","group1").startNow().withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(2).repeatForever()).build();//创建Schedule实例SchedulerFactory schedulerFactory=new StdSchedulerFactory();Scheduler scheduler=schedulerFactory.getScheduler();scheduler.start();Date date=new Date();SimpleDateFormat sdf=new SimpleDateFormat("yyyy-mm-dd HH:mm:ss");System.out.println("当前时间:"+sdf.format(date));scheduler.scheduleJob(jobDetail,trigger);}
}

第五步、测试

运行main方法,结果如下图:

Quartz(1)----入门示例相关推荐

  1. Quartz 之入门示例

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 环境:XP+Myeclipse6.5+JDK1.6  quartz官网:http://www.qua ...

  2. [WCF编程]1.WCF入门示例

    一.WCF是什么? Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,整合了原有的windows通讯的 .net Remotin ...

  3. BizTalk 2006 简单入门示例程序(附源项目文件下载)

    BizTalk 2006 简单入门示例程序(附源项目文件下载) 为初学BizTalk Server 2006的开发人员,提供一个简单入门的示例程序,包括一个Receive Port.Send Port ...

  4. Apache Camel框架入门示例

    2019独角兽企业重金招聘Python工程师标准>>> Apache Camel是Apache基金会下的一个开源项目,它是一个基于规则路由和中介引擎,提供企业集成模式的Java对象的 ...

  5. OUYA游戏开发核心技术剖析OUYA游戏入门示例——StarterKit

    第1章  OUYA游戏入门示例--StarterKit StarterKit是一个多场景的游戏示例,也是OUYA官方推荐给入门开发者分析的第一个完整游戏示例.本章会对StarterKit做详细介绍,包 ...

  6. python爬虫入门实例-终于领会python爬虫入门示例

    随着人工智能 大数据的火热 Python成为了广大科学家和普通大众的学习语言.在学习Python的过程中 有很多人感到迷茫 不知道自己该从什么地方入手,今天我们就来说一些新手该如何学习Python编程 ...

  7. 【Unity 3D 游戏开发】Unity3D 入门 - 工作区域介绍 与 入门示例

    一. 工作区域详解 1. Scence视图 (场景设计面板) scence视图简介 : 展示创建的游戏对象, 可以对所有的游戏对象进行 移动, 操作 和 放置; -- 示例 : 创建一个球体, 控制摄 ...

  8. Castle Active Record for .NET2.0快速入门示例

    一.创建Web工程 创建一个Web站点或者Web应用程序,添加对Castle.ActiveRecord.dll的引用. 二.创建需要持久化的业务实体 在.NET2.0下,由于引入了泛型,创建业务实体比 ...

  9. Spring MVC 入门示例讲解

    在本例中,我们将使用Spring MVC框架构建一个入门级web应用程序.Spring MVC 是Spring框架最重要的的模块之一.它以强大的Spring IoC容器为基础,并充分利用容器的特性来简 ...

最新文章

  1. 基于用例点来度量软件规模并管理进度 之一
  2. 关于H3C路由配置VLAN的问题
  3. Optional 处理空指针
  4. 阿里云上遇到: virtual memory exhausted: Cannot allocate memory
  5. mysql字符串比较数字
  6. linux 下安装adobe flash的关键。
  7. C++ 著名程序库 概览
  8. 机器学习之使用Python完成逻辑回归
  9. centos删除文件不释放_Linux运维知识之linux centos下彻底删除文件 解决删除文件文件夹硬盘空间不释放不减少...
  10. JFinal实现原理
  11. 汽车抛负载7637-5A/5B测试介绍
  12. 微信网页授权页面获取不到code
  13. 虚拟内存设置(可扩展板载内存)
  14. TensorFlow-similarity 学习笔记13
  15. 优秀网页翻译:DS3231与 PCF2129 RTC比较
  16. 小程序配置“企业微信客服”的流程步骤
  17. 【计算智能】模糊控制(一)模糊集合及其基本运算
  18. ffmpeg解析视频的每一帧(java )
  19. 基于JAVA汽车出租平台计算机毕业设计源码+数据库+lw文档+系统+部署
  20. ANF框架小结、网络概念步骤详情及开发源码

热门文章

  1. GCC提供的builtin函数
  2. 电商运营订单退款逻辑 (附流程图)
  3. 虚拟机VMware怎么完全卸载干净
  4. LML学习打卡(总)
  5. linux之execlp函数简单使用
  6. android 首页广告显示不出来的,android-admob广告没有显示
  7. 车道线检测-Eigenlanes 论文学习笔记
  8. 左手刮胡须,右手提裤子
  9. php js实现登录注册,JavaScript实现登录注册验证
  10. 新东方、好未来财报:烧钱不够,OMO来救