`
sambean
  • 浏览: 31935 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

2010-11-03 quartz学习笔记一

阅读更多

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的基本架构。Quartz的核心组件包括Scheduler、Job、Trigger和Calendar。Scheduler是调度器,负责管理所有的...

    Quartz调度学习笔记

    Quartz 是一个强大的任务调度框架,由 OpenSymphony 开源组织开发,主要目的是提供一个用于在 Java 应用程序中安排任务执行的解决方案。Quartz 支持与 J2EE 和 J2SE 平台的无缝集成,允许开发者在各种类型的项目中...

    学习笔记_Quartz作业调度框架,使用corn表达式

    本学习笔记主要围绕Quartz的使用,特别是如何利用corn表达式来设置定时任务。 Quartz的核心概念包括Job(任务)、Trigger(触发器)和Scheduler(调度器)。Job是你要执行的实际业务逻辑,Trigger定义了Job何时被...

    Spring.NET学习笔记25——整合Quartz.NET例子

    刘冬编写Spring.NET学习笔记25——整合Quartz.NET例子。 原文: http://www.cnblogs.com/GoodHelper/archive/2009/11/20/SpringNet_QuartzNet.html

    Quartz入门学习(真丶入门)

    1. **创建作业**:首先,你需要创建一个实现了`org.quartz.Job`接口的类,这个类就是你的任务逻辑。在`execute()`方法中编写实际的业务代码。 2. **定义触发器**:接着,定义一个触发器,设置执行时间。例如,你...

    quartz教程 quartz学习手册 quartz帮助手册

    六、Quartz学习资源 本教程、学习手册和帮助手册将详细阐述Quartz的各个方面,从基本使用到高级特性的实践,帮助开发者从初学者到精通者。通过阅读这些资料,你可以掌握如何在项目中有效地使用Quartz,提升系统的...

    springboot-quartz:springboot整合quartz

    在项目根目录下的`README.md`文件中,可能包含了更详细的笔记和示例代码,可以进一步学习和理解。 总的来说,SpringBoot与Quartz的整合为Java开发者提供了一种高效、灵活的方式来管理定时任务,提高了应用的自动化...

    objective-c学习笔记

    学习笔记中可能包含了一些关于Objective-C图形编程的内容,如Core Graphics或Quartz 2D,它们是苹果平台进行低级绘图的API,可用于创建自定义视图和复杂的图形。 六、实践应用 理论学习后,通过编写简单的iOS应用...

    若依RuoYi框架剖析笔记,该笔记是在学习江南一点雨所录课程再结合自己的理解所写

    《若依RuoYi框架剖析笔记》是基于江南一点雨的课程并结合个人理解整理而成,涵盖了项目改造、框架结构分析以及多个关键功能模块的深入探讨。以下将逐一解析这些知识点。 1、**项目改造**:首先,从源代码仓库获取...

    Quartz1.8任务进程管理系统学习笔记一:版本1.8和之前版本的不同

    NULL 博文链接:https://jaykuen.iteye.com/blog/911106

    SpringBoot学习笔记完整教程

    Spring Boot 是一个基于 Spring 框架的快速开发...这个完整的 Spring Boot 学习笔记涵盖了从基础到进阶的各个方面,通过学习和实践,你可以掌握 Spring Boot 开发的核心技能,从而高效地构建高质量的 Java 后端应用。

    SpringBoot 学习笔记完整教程

    SpringBoot学习笔记完整教程 SpringBoot是Spring框架的一个简化版,旨在简化Spring应用程序的初始设置和开发过程。它集成了大量的常用库,如数据访问、安全、Web等,使得开发者可以快速构建健壮的微服务应用。本...

    spring2.0学习笔记+spring定时任务

    标题中的“spring2.0学习笔记+spring定时任务”表明了这个压缩包文件包含的是关于Spring框架2.0版本的学习资料,特别是关于Spring的定时任务功能。Spring是Java开发中最广泛应用的轻量级框架之一,它提供了一整套...

    学习笔记 MHT2

    【学习笔记 MHT2】是一份综合性的IT学习资料,主要涵盖了JavaScript编程、软件开发工具、Web服务器技术、编码解码方法以及设计模式等多个领域的知识。以下是对这些知识点的详细阐述: 1. **JavaScript经典技巧**:...

    8定时任务+数据源学习笔记1

    Quartz是一个强大的任务调度框架,能提供丰富的调度功能。在Spring Boot中使用Quartz,需要添加相关依赖,并创建Quartz配置以及Job类: ```xml <groupId>org.springframework.boot <artifactId>spring-boot-...

    spring学习笔记

    这个“spring学习笔记”包含了与Spring框架相关的源代码和项目实践,旨在帮助学习者深入理解并掌握Spring的核心概念和技术。 首先,Spring的核心特性之一是依赖注入(Dependency Injection, DI),它允许开发者通过...

    Spring学习笔记(内含代码)

    这个“Spring学习笔记(内含代码)”包含了作者在深入研究Spring框架过程中所做的详细记录,旨在帮助初学者和有经验的开发者更好地理解和应用Spring。 Spring框架的核心特性包括依赖注入(Dependency Injection,DI...

Global site tag (gtag.js) - Google Analytics