环境: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

  1. import java.util.Date;
  2. import org.slf4j.Logger;
  3. import org.slf4j.LoggerFactory;
  4. import org.quartz.Job;
  5. import org.quartz.JobExecutionContext;
  6. import org.quartz.JobExecutionException;
  7. public class HelloJob implements Job {
  8. private static Logger _log = LoggerFactory.getLogger(HelloJob.class);
  9. public HelloJob() {
  10. }
  11. public void execute(JobExecutionContext context)
  12. throws JobExecutionException {
  13. _log.error(" 咫尺天涯: " + new Date());
  14. }
  15. }

2 测试类

  1. import static org.quartz.JobBuilder.newJob;
  2. import static org.quartz.TriggerBuilder.newTrigger;
  3. import static org.quartz.DateBuilder.*;
  4. import java.util.Date;
  5. import org.quartz.JobDetail;
  6. import org.quartz.Scheduler;
  7. import org.quartz.SchedulerFactory;
  8. import org.quartz.Trigger;
  9. import org.quartz.impl.StdSchedulerFactory;
  10. import org.slf4j.Logger;
  11. import org.slf4j.LoggerFactory;
  12. public class SimpleExample {
  13. private static Logger log = LoggerFactory.getLogger(SimpleExample.class);
  14. public void run() throws Exception {
  15. // 通过SchedulerFactory获取一个调度器实例
  16. SchedulerFactory sf = new StdSchedulerFactory();
  17. Scheduler sched = sf.getScheduler();
  18. Date runTime = evenMinuteDate(new Date());
  19. // 通过过JobDetail封装HelloJob,同时指定Job在Scheduler中所属组及名称,这里,组名为group1,而名称为job1。
  20. JobDetail job = newJob(HelloJob.class).withIdentity("job1", "group1").build();
  21. // 创建一个SimpleTrigger实例,指定该Trigger在Scheduler中所属组及名称。
  22. // 接着设置调度的时间规则.当前时间运行
  23. Trigger trigger = newTrigger().withIdentity("trigger1", "group1").startAt(runTime).build();
  24. // 注册并进行调度
  25. sched.scheduleJob(job, trigger);
  26. // 启动调度器
  27. sched.start();
  28. try {
  29. //当前线程等待65秒
  30. Thread.sleep(65L * 1000L);
  31. } catch (Exception e) {
  32. }
  33. //调度器停止运行
  34. sched.shutdown(true);
  35. log.error("结束运行。。。。");
  36. }
  37. public static void main(String[] args) throws Exception {
  38. SimpleExample example = new SimpleExample();
  39. example.run();
  40. }
  41. }

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

Quartz2之入门示例【转】的更多相关文章

  1. Quartz2之入门示例

    环境:XP+Myeclipse6.5+JDK1.6 quartz官网:http://www.quartz-scheduler.org/ 参考资料 1 Quartz任务调度快速入门 http://www ...

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

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

  3. Maven入门示例(3):自动部署至外部Tomcat

    Maven入门示例(3):自动部署至外部Tomcat 博客分类:  maven 2012原创   Maven入门示例(3):自动部署至外部Tomcat 上一篇,介绍了如何创建Maven项目以及如何在内 ...

  4. 1.【转】spring MVC入门示例(hello world demo)

    1. Spring MVC介绍 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于 ...

  5. 【java开发系列】—— spring简单入门示例

    1 JDK安装 2 Struts2简单入门示例 前言 作为入门级的记录帖,没有过多的技术含量,简单的搭建配置框架而已.这次讲到spring,这个应该是SSH中的重量级框架,它主要包含两个内容:控制反转 ...

  6. Spring MVC 入门示例讲解

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

  7. Couchbase之个人描述及入门示例

    本文不打算抄袭官方或者引用他人对Couchbase的各种描述,仅仅是自己对它的一点理解(错误之处,敬请指出),并附上一个入门示例. ASP.NET Web项目(其他web开发平台也一样)应用规模小的时 ...

  8. Velocity魔法堂系列一:入门示例

    一.前言 Velocity作为历史悠久的模板引擎不单单可以替代JSP作为Java Web的服务端网页模板引擎,而且可以作为普通文本的模板引擎来增强服务端程序文本处理能力.而且Velocity被移植到不 ...

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

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

随机推荐

  1. CodeViz代码可视化

    安装可以参见,http://blogimg.chinaunix.net/blog/upfile2/091119203927.pdf 结合pdf教程,这里说下注意事项: 1 ) 必须先安装GRAPHVI ...

  2. 利用CAReplicatorLayer实现的加载动画

    在上一篇中,笔者简要介绍了CAReplicatorLayer,在本篇中,将介绍具体的实用价值. 实用CAReplicatorLayer作为核心技术实现加载动画. 首先,创建一个UIView的子类 @i ...

  3. Spring+SpringMvc+Mybatis框架集成搭建教程五(项目源码发布到GitHub)

    一.背景 我们做完了上面的四步操作以后,来把我们写好的项目提交到自己的GitHub仓库进行版本管理,具体步骤如下. 二.提交步骤 1.首先你要保证你已经有GitHub的账号和密码(没有可以去githu ...

  4. Java小知识--length,length(),size()方法详细介绍

    Java中length,length(),size()区别 length属性:用于获取数组长度. eg: int ar[] = new int{1,2,3} /** * 数组用length属性取得长度 ...

  5. SpringMVC学习(二)

    SpringMVC入门(注解方式) 需求 实现商品查询列表功能. 第一步:创建Web项目 springmvc02 第二步:导入jar包 第三步:配置前端控制器 在WEB-INF\web.xml中配置前 ...

  6. elk平台搭建

    很多时候我们需要对日志做一个集中式的处理,但是通常情况下这些日志都分布到n台机器上面,导致一个结果就是效率比较低,而ELK平台可以帮助我们解决这么一件事情: ELK下载:https://www.ela ...

  7. Vue#表单控件绑定

    使用v-model 在表单控件上实现数据双向绑定. 单选:https://jsfiddle.net/miloer/bs49p0fx/ <input type="checkbox&quo ...

  8. python处理地理数据-geopandas和pyshp

    这边博客并不是有关geopandas的教程和pyshp的教程! 使用python来处理地理数据有很多相关的包,最近研究需要处理一些地理数据,然而arcgis的arcpy总是不能令人满意.所以这里说说p ...

  9. MIT 6.828 JOS学习笔记3. Exercise 1.2

    这篇博文是对Lab 1中的Exercise 2的解答~ Lab 1 Exercise 2: 使用GDB的'si'命令,去追踪ROM BIOS几条指令,并且试图去猜测,它是在做什么.但是不需要把每个细节 ...

  10. 国内其他的maven库

    转自:http://www.cnblogs.com/woshimrf/p/5860478.html 在oschina关来关去的烦恼下,终于受不了去寻找其他公共库了. 阿里云maven镜像 <mi ...