环境: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文件如下 
 
官方文档见附件:quartz-docs.7z

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

  1. Quartz2之入门示例【转】

    原文地址:http://liuzidong.iteye.com/blog/1118992 环境:XP+Myeclipse6.5+JDK1.6 quartz官网:http://www.quartz-sc ...

  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. Linux,Windows和UNIX的进程调度的分析

    摘要 : 本文以Linux ,Unix ,Windows 操作系统为例,分析其进程调度策略,以期对进程调度过程有更深层次的认识     关键词 : 进程调度 优先级 时间片轮转 实时进程 分时技术   ...

  2. Candy leetcode java

    题目: There are N children standing in a line. Each child is assigned a rating value. You are giving c ...

  3. C# 事件(Event)

    事件(Event) 基本上说是一个用户操作,如按键.点击.鼠标移动等等,或者是一些出现,如系统生成的通知.应用程序需要在事件发生时响应事件.例如,中断.事件是用于进程间通信. 通过事件使用委托 事件在 ...

  4. 以AVL树为例理解二叉树的旋转(Rotate)操作

    树旋转是在二叉树中的一种子树调整操作, 每一次旋转并不影响对该二叉树进行中序遍历的结果. 树旋转通常应用于需要调整树的局部平衡性的场合. 树旋转包括两个不同的方式, 分别是左旋转和右旋转. 两种旋转呈 ...

  5. ObservableCollection

    1)可以使绑定控件与基础数据源保持同步2)还可以在您添加.删除.移动.刷新或替换集合中的项目时引发 CollectionChanged 事件3)还可以在您的窗口以外的代码修改基础数据时做出反应4)相互 ...

  6. Discuz 学习笔记一 :getgdc 和get_client_ip

    Getgdc函数 discuz有一个超级变量的自定义函数:   function getgpc($k, $type='GP') {     $type = strtoupper($type);     ...

  7. (C++)i++和++i,哪个效率高一些

    在看<程序员面试笔试宝典>时,发现了这样一个问题,书中只给出了++i的效率高一些,但并没有给出具体的解释和说明. 在网上找到下面的答案: 1.从高级层面上解释 ++i 是i=i+1,表达式 ...

  8. Solr添加SolrDocument报错

    今天写了一个solr入库接口,使用了SolrServer.addBean接口,结果报错:Caused by: org.apache.solr.client.solrj.impl.HttpSolrSer ...

  9. Asp.net 之页面处理积累(一)

    1.实现超链接跳转网页直接定位到跳转后页面中部,而不是要往下拖,才能看到想看的内容 (1)在跳转后页面想定位的位置加:<a name="middle" id="mi ...

  10. Java从零开始学二十七(NumberFormat类)

    一.NumberFormat表示数字的格式化类 NumberFormat表示数字的格式化类,即:可以按照本地的风格习惯进行数字的显示. No. 方法 类型 描述 1 public static Loc ...