Quartz is a full-featured, open source job scheduling service that can be integrated with, or used along side virtually any Java EE or Java SE application - from the smallest stand-alone application to the largest e-commerce system. Quartz can be used to create simple or complex schedules for executing tens, hundreds, or even tens-of-thousands of jobs; jobs whose tasks are defined as standard Java components that are programmed to fulfill the requirements of your application. The Quartz Scheduler includes many enterprise-class features, such as JTA transactions and clustering. You can download the most recent stable version at http://quartz-scheduler.org/overview/index.html.
Quartz是一个开源的任务调度服务,可以同时运行成百上千个简单或者复杂的任务。
一.搭建Quart运行环境
下载最新版本,解压后将lib目录下所有jar包加入你工程classpath下,注意jar包的冲突问题。将跟目录下的quartz-all-***.jar加入classpath,其中xxx为版本号。
二.最简单的helloWorld
(1) 引入所需要的类
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.SimpleTrigger;
import org.quartz.TriggerUtils;
import org.quartz.impl.StdSchedulerFactory;
(2)获取一个Scheduler
// 使用工厂模式
SchedulerFactory sf = new StdSchedulerFactory();
Scheduler sched = sf.getScheduler();
(3) 声明一个任务和1个触发器
// computer a time that is on the next round minute
Date runTime = TriggerUtils.getEvenMinuteDate(new Date());
// define the job and tie it to our HelloJob class
JobDetail job = new JobDetail("job1", "group1", HelloJob.class);
// Trigger the job to run on the next round minute
SimpleTrigger trigger = new SimpleTrigger("trigger1", "group1", runTime);
(4)将任务和触发器进行关联
// Tell quartz to schedule the job using our trigger
sched.scheduleJob(job, trigger);
(5)启动调度器
// Start up the scheduler (nothing can actually run until the
// scheduler has been started)
sched.start();
(6)执行完任务后关闭调度器
// shut down the scheduler
/// 如果不关闭调度器,则程序会一直执行下去,因为一直有个调度器的线程在执行
log.info("------- Shutting Down ---------------------");
sched.shutdown(true);
log.info("------- Shutdown Complete -----------------");
(7)自定义的任务类HelloJob
public class HelloJob implements Job
(8)实现Excute方法
public void execute(JobExecutionContext context)
throws JobExecutionException {
// Say Hello to the World and display the date/time
System.out.println("Hello World! - " + new Date());
}
(9)执行结果
Hello World! - Wed Nov 03 11:40:00 CST 2010
分享到:
相关推荐
这个学习笔记将深入探讨Quartz的核心概念、主要功能以及如何在实际项目中使用它。 首先,我们要理解Quartz的基本架构。Quartz的核心组件包括Scheduler、Job、Trigger和Calendar。Scheduler是调度器,负责管理所有的...
Quartz 是一个强大的任务调度框架,由 OpenSymphony 开源组织开发,主要目的是提供一个用于在 Java 应用程序中安排任务执行的解决方案。Quartz 支持与 J2EE 和 J2SE 平台的无缝集成,允许开发者在各种类型的项目中...
本学习笔记主要围绕Quartz的使用,特别是如何利用corn表达式来设置定时任务。 Quartz的核心概念包括Job(任务)、Trigger(触发器)和Scheduler(调度器)。Job是你要执行的实际业务逻辑,Trigger定义了Job何时被...
刘冬编写Spring.NET学习笔记25——整合Quartz.NET例子。 原文: http://www.cnblogs.com/GoodHelper/archive/2009/11/20/SpringNet_QuartzNet.html
1. **创建作业**:首先,你需要创建一个实现了`org.quartz.Job`接口的类,这个类就是你的任务逻辑。在`execute()`方法中编写实际的业务代码。 2. **定义触发器**:接着,定义一个触发器,设置执行时间。例如,你...
六、Quartz学习资源 本教程、学习手册和帮助手册将详细阐述Quartz的各个方面,从基本使用到高级特性的实践,帮助开发者从初学者到精通者。通过阅读这些资料,你可以掌握如何在项目中有效地使用Quartz,提升系统的...
在项目根目录下的`README.md`文件中,可能包含了更详细的笔记和示例代码,可以进一步学习和理解。 总的来说,SpringBoot与Quartz的整合为Java开发者提供了一种高效、灵活的方式来管理定时任务,提高了应用的自动化...
学习笔记中可能包含了一些关于Objective-C图形编程的内容,如Core Graphics或Quartz 2D,它们是苹果平台进行低级绘图的API,可用于创建自定义视图和复杂的图形。 六、实践应用 理论学习后,通过编写简单的iOS应用...
《若依RuoYi框架剖析笔记》是基于江南一点雨的课程并结合个人理解整理而成,涵盖了项目改造、框架结构分析以及多个关键功能模块的深入探讨。以下将逐一解析这些知识点。 1、**项目改造**:首先,从源代码仓库获取...
NULL 博文链接:https://jaykuen.iteye.com/blog/911106
Spring Boot 是一个基于 Spring 框架的快速开发...这个完整的 Spring Boot 学习笔记涵盖了从基础到进阶的各个方面,通过学习和实践,你可以掌握 Spring Boot 开发的核心技能,从而高效地构建高质量的 Java 后端应用。
SpringBoot学习笔记完整教程 SpringBoot是Spring框架的一个简化版,旨在简化Spring应用程序的初始设置和开发过程。它集成了大量的常用库,如数据访问、安全、Web等,使得开发者可以快速构建健壮的微服务应用。本...
标题中的“spring2.0学习笔记+spring定时任务”表明了这个压缩包文件包含的是关于Spring框架2.0版本的学习资料,特别是关于Spring的定时任务功能。Spring是Java开发中最广泛应用的轻量级框架之一,它提供了一整套...
【学习笔记 MHT2】是一份综合性的IT学习资料,主要涵盖了JavaScript编程、软件开发工具、Web服务器技术、编码解码方法以及设计模式等多个领域的知识。以下是对这些知识点的详细阐述: 1. **JavaScript经典技巧**:...
Quartz是一个强大的任务调度框架,能提供丰富的调度功能。在Spring Boot中使用Quartz,需要添加相关依赖,并创建Quartz配置以及Job类: ```xml <groupId>org.springframework.boot <artifactId>spring-boot-...
这个“spring学习笔记”包含了与Spring框架相关的源代码和项目实践,旨在帮助学习者深入理解并掌握Spring的核心概念和技术。 首先,Spring的核心特性之一是依赖注入(Dependency Injection, DI),它允许开发者通过...
这个“Spring学习笔记(内含代码)”包含了作者在深入研究Spring框架过程中所做的详细记录,旨在帮助初学者和有经验的开发者更好地理解和应用Spring。 Spring框架的核心特性包括依赖注入(Dependency Injection,DI...