<!--[endif]-->什么是Quartz
Quartz是一个作业调度系统(a
job scheduling system),Quartz不但可以集成到其他的软件系统中,而且也可以独立运行的;在本文中“job scheduler”的意思是:一个负责在约定的时间到达时执行(或通知)其他软件控件的方法。
Quartz是非常灵活的,为了实现我们的需求Quartz包含了许多可以独立或被集成使用的典型范例,同时使我们编写项目中的代码也觉得很简单自然(natural)。
Quartz是很轻量级的,只需要简单的安装或配置就可以在项目中使用;如果只是相对简单的使用实际上可以直接地使用(out-of-the-box)。
Quartz具有容错性,能够持久化所调度的作业,即在系统重启后也可以继续执行原先未完成的作业。
虽然Quartz对给定的计划可以简单地运行一些系统的处理是很适用的,但只有当我们学习如何使用Quartz去驱动我们的应用业务处理流程时,才能真正的认识到Quartz的全部潜能。
<!--[endif]-->什么是Quartz-从软件控件的角度
Quartz是以.jar文件的形式发布的,Quartz java库中包含了Quartz所有的核心功能,该功能的主要接口(API)是Scheduler接口,Scheduler接口提供了一些简单的操作,如:schedulering/unscheduling
jobs,starting/stopping/pausing
the scheduler。
如果我们要调度自定义的作业,该作业必须实现Job接口,Job接口包含了一个必须实现的方法:execute(…);如果我们需要实现当到达被调度的时间能够得到通知,我们必须实现TriggerListener或JobListener接口。
Quartz主要程序不但能够作为独立的应用(带有RMI 接口)运行,也可以作为J2EE组件资源在J2EE应用服务器运行。
<!--[endif]-->使用Quartz
使用Scheduler前必须实例化Scheduler,需要由SchedulerFactory类来创建Scheduler,Factory的实例可以通过在JNDI存储中的Factory的序列化的方式来获取,实例化Factory后直接使用该实例也是很容易的,如下面的例子。
Scheduler被实例化后就可以启动、暂停或关闭,但是Scheduler一旦关闭就不能再次启动该Scheduler,只有必须再次实例化后才可以;Trigger只有与之对应的Scheduler启动后才能触发与之相关的Job,否则一直处于暂停状态。
下面是一个实例化、启动Scheduler和调度执行作业的例子:
//创建一个SchedulerFactory类的实例
SchedulerFactory schedFact = new org.quartz.impl.StdSchedulerFactory();
//创建一个Scheduler类的实例
Scheduler sched = schedFact.getScheduler();
//启动上面创建的Scheduler
sched.start();
//创建一个JobDetail
JobDetail jobDetail = new JobDetail("myJob",
sched.DEFAULT_GROUP,
DumbJob.class);
//创建一个SimpleTrigger
SimpleTrigger trigger = new SimpleTrigger("myTrigger",
sched.DEFAULT_GROUP,
new Date(),
null,
0,
0L);
//把JobDetail和SimpleTrigger所创建的各自实例关联到一个Scheduler中
sched.scheduleJob(jobDetail, trigger);
<!--EndFragment-->
分享到:
相关推荐
解压"quartz-2.4.0-SNAPSHOT-distribution.tar.gz"后,我们主要会看到一个名为"quartz-2.4.0-SNAPSHOT"的目录,其中包含了Quartz框架的所有组件和相关文档。这个目录下通常会有以下内容: 1. **JAR文件**:核心库...
quartz使用指南,quartz使用指南,quartz使用指南
在给定的压缩包文件中,我们有两个重要的资源:一个是"Quartz Job Scheduling Framework 中文版 V1.0.0 (1).chm",另一个是"Quartz开发指南.pdf"。 "Quartz Job Scheduling Framework 中文版 V1.0.0 (1).chm"是...
Quartz开发指南.pdf 2:Quartz从入门到进阶.pdf 3:QuartzBeginnerExample一个附带的工程例子 4:quartz-1.6.1.zip Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE...
总之,"quartz-2.2.3-distribution.tar.gz"是一个包含Quartz库完整组件的压缩包,提供了强大的定时任务管理功能,是Java开发者实现定时任务的首选工具。通过学习和使用Quartz,你可以构建出更加智能和自动化的Java...
这个"quartz-2.1.7"版本是Quartz库的一个重要发布,专注于提供可靠的定时任务管理和执行。在这个版本中,Quartz进行了多方面的优化和改进,以提高稳定性和性能。 Quartz的核心功能在于其强大的调度能力。它支持CRON...
quartz-all-2.1.6.jar 包含了Quartz的所有功能,包括核心库和所有依赖的模块,这使得开发者在一个单一的JAR文件中就可以使用Quartz的所有特性。 quartz-2.1.6.jar 是Quartz的核心库,包含用于创建、管理和执行作业...
总结,Quartz-1.6.6 教程涵盖了从基础概念到实际开发的全面内容,无论你是初学者还是有经验的开发者,都能从中受益。通过学习和实践,你可以熟练掌握如何在 Java 应用中实现高效、可靠的定时任务管理。
Quartz是一款强大的、开源的Java定时任务框架,用于在应用程序中调度任务。它以其灵活性、稳定性和可扩展性而受到广泛赞誉。以下是Quartz的主要特点和功能的详细说明: 1. **灵活的调度**:Quartz允许开发者创建...
#### 一、Quartz 功能简介 Quartz 是一款开源的任务调度框架,广泛应用于 Java 应用程序中。它的主要功能包括但不限于: 1. **可嵌入性**:Quartz 可以轻松地嵌入到任何独立的应用程序中运行,无需额外的依赖或...
- **readme.txt**:通常包含快速入门指南和重要注意事项,帮助用户了解如何开始使用Quartz.NET。 3. **库和文档**: - **lib**:这个目录可能包含了Quartz.NET的库文件,如DLLs,供开发者在项目中引用。 - **doc...
在开始使用 Quartz 之前,需要首先下载 Quartz 1.6.5 的压缩包 quartz-1.6.5.zip,然后解压缩并将其添加到 Java 项目中。注意需要将 Quartz 的 JAR 包添加到类路径中,以便正确地使用 Quartz 的功能。 示例程序 ...
Quartz 是一个强大的开源作业调度框架,用于在 Java 应用程序中安排任务执行。它提供了高度可定制的特性,可以满足各种复杂的定时任务需求。Quartz 的核心组件包括 Scheduler、Job 和 Trigger。 1. **Scheduler**:...
综上所述,"quartz-2.2.3-官方文档数据及PDM表结构.zip"文件包含的内容将帮助开发者深入理解Quartz的各个方面,从基本概念到高级特性,为实际项目中的任务调度提供全面指导。通过学习和应用这些知识,可以提高应用...
`readme.txt` 文件通常提供了快速入门指南、注意事项或者项目简介,对于初学者了解 Quartz 和如何开始使用源码非常有帮助。 通过对这些文件的分析,我们可以了解到 Quartz 1.6.4 版本的核心组成部分以及如何根据...
在"quartz-1.6.0任务调试"中,我们需要理解Quartz的基本概念、配置以及如何进行任务的调试。 首先,Quartz的核心是Job和Trigger。Job是实际需要执行的任务,而Trigger则是触发Job执行的时间规则。在Quartz 1.6.0...
《Quartz 2D编程指南》一文详细介绍了Quartz 2D这一核心绘图引擎在iOS和其他Apple平台上的应用及特性。Quartz 2D是Apple提供的底层绘图API,用于创建高质量的二维图形,它不仅适用于iOS,还广泛应用于macOS、watchOS...
本指南将深入探讨 Quartz 的核心概念、配置与使用方法,并提供源码分析,帮助开发者更高效地利用这一强大工具。 1. **Quartz 基本概念** - **Job**:Job 是实际要执行的任务,是一个实现了 `org.quartz.Job` 接口...
Quartz开发指南,有初级到高级的一个开发教程。比较完善的一个资料。
#### 一、Quartz 功能简介 - **特性概述**: - **独立运行**:Quartz 可以嵌入到任何独立的应用中运行。 - **应用服务器集成**:Quartz 可以在应用服务器或者 Servlet 容器中实例化,并且能够参与 XA 事务。 - *...