前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。

环境:XP+Myeclipse6.5+JDK1.6 
quartz官网:http://www.quartz-scheduler.org/ 
参考资料 
1 Quartz任务调度快速入门 
http://www.blogjava.net/baoyaer/articles/155645.html 
2 Quartz 
http://ttaale.iteye.com/blog/630202 
http://java-lyvee.iteye.com/blog/817110 
3 Quartz Job Scheduling Framework 
http://hi.baidu.com/recoder/blog/item/ec7642f1db2b68a7a40f52f3.html 
4 Quartz学习 
http://blog.csdn.net/bubei/article/details/2108778 
5 Quartz学习资料链接 
http://topmanopensource.iteye.com/blog/search?query=quartz

特别说明:如无特别说明,所有有关quartz示例基于官方示例 

一 Quarta介绍 
1 Quartz是什么 
Quartz就是一个纯 Java 实现的作业调度工具,相当于数据库中的 Job、Windows 的计划任务、Unix/Linux 下的 Cron,但 Quartz 可以把排程控制的更精细. 
2 Quartz 框架的发展历程 
Quartz项目是由James House创立的,在1998年就有该框架最初的构思,包括作业队列的概念,使用线程池来处理作业,在2001年春天在SourceForge 上创立了该项目
Quartz 的目录结构和内容 
Docs Quartz 框架的JavaDoc Api 说明文档 
Examples 多方面使用 Quartz 的例子 
Lib Quartz 使用到的第三方包 
quartz-jboss 提供了特定于 JBoss 特性的源代码 
quartz-oracle 提供了特定于 Oracle 特性的源代码 
quartz-weblogic 提供了特定于 WebLogic 特性的源代码 
二 Quartz的应用场景 
场景 #1: 邮件提醒和告警 
场景 #2: 执行文件传输操作 
场景 #3: 创建销售报表 
三 Quarta的安装及使用 
官网:http://www.quartz-scheduler.org/下载最新的文件,需要你注册才能下载!也可在附件中下载 
四 了解Quartz体系结构 
Quartz对任务调度的领域问题进行了高度的抽象,提出了调度器、任务和触发器这3个核心的概念,并在org.quartz通过接口和类对重要的这些核心概念进行描述 
Quartz 调度包的两个基本单元是作业和触发器。作业是能够调度的可执行任务,触发器提供了对作业的调度. 
调度器:调度器用于将与作业触发器关联,一个作业可关联多个触发器,这样每个触发器被可以触发的作业执行;一个触发器可用于控制多个作业,触发触发时, 
全部作业将获得调度。Quartz的调度器由Scheduler接口体现. 
作业:只需实现org.quartz.job接口即可.Job接口包含一个方法 execute(),execute方法体是被调度的作业体。一旦实现Job接口和execute()方法, 
Quartz确定作业运作的时候,它将调用 execute()方法体。 
触发器:有SimpleTrigger和CronTrigger两种类型

 
五 工程图片 
 
六 具体代码如下 
Job:是一个接口只有一个方法void execute(JobExecutionContext context),开发者实现该接口定义运行任务,JobExecutionContext类提供了调度上下文的各种信息。Job运行时的信息保存在JobDataMap实例中 
1 定义一个作业类: HelloJob.java 
Java代码

import java.util.Date;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;  public class HelloJob implements Job {  private static Logger _log = LoggerFactory.getLogger(HelloJob.class);  public HelloJob() {  }  public void execute(JobExecutionContext context)  throws JobExecutionException {  _log.error(" 咫尺天涯: " + new Date());  }
}

2 测试类 
Java代码

import static org.quartz.JobBuilder.newJob;
import static org.quartz.TriggerBuilder.newTrigger;
import static org.quartz.DateBuilder.*;
import java.util.Date;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.Trigger;
import org.quartz.impl.StdSchedulerFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class SimpleExample {  private static Logger log = LoggerFactory.getLogger(SimpleExample.class);  public void run() throws Exception {  // 通过SchedulerFactory获取一个调度器实例  SchedulerFactory sf = new StdSchedulerFactory();      Scheduler sched = sf.getScheduler();  Date runTime = evenMinuteDate(new Date());  // 通过过JobDetail封装HelloJob,同时指定Job在Scheduler中所属组及名称,这里,组名为group1,而名称为job1。  JobDetail job = newJob(HelloJob.class).withIdentity("job1", "group1").build();  // 创建一个SimpleTrigger实例,指定该Trigger在Scheduler中所属组及名称。  // 接着设置调度的时间规则.当前时间运行  Trigger trigger = newTrigger().withIdentity("trigger1", "group1").startAt(runTime).build();  // 注册并进行调度  sched.scheduleJob(job, trigger);  // 启动调度器  sched.start();  try {  //当前线程等待65秒  Thread.sleep(65L * 1000L);  } catch (Exception e) {  }  //调度器停止运行  sched.shutdown(true);  log.error("结束运行。。。。");  }  public static void main(String[] args) throws Exception {  SimpleExample example = new SimpleExample();  example.run();  }
}  

因为上官网下载麻烦,这里就直接上传了,方便大家下载!目录结构如下: 
Quartz所用到的jar 
 
上传Quartz文件如下 
 
官方文档见附件:quartz-docs.7z

下载地址:http://liuzidong.iteye.com/blog/1118992

转自:http://liuzidong.iteye.com/blog/1118992

Quartz 之入门示例相关推荐

  1. Quartz(1)----入门示例

    1.什么是Quartz? Quartz是一个完全由java编写的开源作业调度框架. 2.Quartz是用来做什么的? Quartz是一个任务调度框架,比如你会遇到如下问题: 1).每月25号,信用卡自 ...

  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. Xilinx zynq的资料获取总结
  2. python django 表单_Django-表单处理
  3. java ubuntu 14.04,ubuntu14.04下安装JAVA
  4. 找不到libmmd.dll无法继续执行代码_300 行代码带你秒懂 Java 多线程!| 原力计划...
  5. mybatis plus 批量保存_mybatis源码分析
  6. MongoDB Element Query Operators(元素判断操作符)
  7. 中国 AI 开发者真实现状:人才依赖海外引进,本科 AI 教育盛行
  8. HDU 3197 Game(树删边)
  9. 【POJ 2342】Anniversary party(入门树形dp)
  10. RAID 的各种方案
  11. 软件开发的201个原则
  12. todos app简单编写(web)
  13. 基因家族分析-蛋白互作网络分析
  14. 计算机辅助项目管理实验论文,计算机辅助项目管理课程设计—毕设论文.doc
  15. 【Unity人物属性】人物属性大量设置用set,get方法还是public成员
  16. 古剑飞仙手游Linux系统服务器架设教程
  17. 小学生python游戏编程arcade----爆炸粒子类
  18. 哈希消息认证码HmacSHA256-javascript版
  19. hive常用函数之其他函数
  20. [软件渲染器入门]五-平面着色和高氏着色

热门文章

  1. mysql题目_MySQL练习题
  2. 算法 - 排序算法 (算法学习)(冒泡、选择、插入、希尔、快排、归并)
  3. 【JS 逆向百例】百度翻译接口参数逆向
  4. java 读取 image_如何在java读取sql里头读取image格式的数据转换成图片格式
  5. 【数据库实验课堂】实验一:数据库的管理
  6. 买iphone不买android,为何宁可用4年前的苹果6s,也不买两三千的安卓呢?理由很真实...
  7. 黔南民族师范学院计算机与信息学院,黔南民族师范学院
  8. Java 中抽象类与接口
  9. Java对象的序列化
  10. 原地置换法寻找数组中重复的数