`
sydhappy
  • 浏览: 3776 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

初识Quartz(2)

阅读更多
上一篇完成了一个Quartz 的小Demo,现在来看看这些code怎么工作的吧。
在我们创建一个Job的时候,对于每个Quartz Job必须有一个实现了org.quartz.job接口的具体类。这个接口仅有一个是要你在Job中实现的方法,execute()方法,它的原型:
pubilc void execute(JobExecutionContext context) throws JobExecutionException;

    当Quartz scheduler确定到时间要激发一个Job时,它就会生成一个Job实例,并调用这个实例的execute()方法。scheduler只管调用execute()方法,而不关心执行的结果,(除Job执行的过程中抛出org.quartz.JobExecutionException)
    这样我们可以在execute()方法中实现我们的业务逻辑,(发送一个电子邮件、调用一个工作流、FTP传一个文件等等)
    在我们的作业Job执行的时候调用execute()方法的同时会传递一个org.quartz.JobExecutionContext上下文变量,在这个变量里封装了Quartz运行时环境和当前执行的Job。我们可以用过这个JobExecutionContext获得到调度器scheduler的信息、trigger的信息等等。
     execute()剩下的code就是我们java的标准code来实现我们的业务逻辑。但是目前我们只是创建了一个Quartz Job,然而怎么处理它们呢?下面我们显然需要为这个Job指定一个它工作的时间表schedule。这时Scheduler 会帮助我们为所有的Job进行注册,必要时还可创建Job实例并执行实例中的execute()方法。 但是Scheduler每次执行实例时都会为Job创建新的实例。那么job中的任何变量在执行结束之后就会消失,但这样也就避免了俩个相同状态的Job实例的并发执行。
   so我们得先通过createScheduler()方法从Scheduler工厂获取Scheduler实例。然后创建JobDetail来“封装”我们自定义的Job:
JobDetail job = JobBuilder.newJob(xxx.class).withIdentity("作业名","组名").build();


public JobDetail(String name,String group,Class jobClass);

对于Trigger我们可以选择SimpleTrigger或CronTrigger来创建一个trigger实例,SimpleTrigger较为简单,而CronTrigger较为复杂而且强大。
最后我们通过Scheduler的SchedulerJob()方法将Job同Scheduler进行关联。
    
分享到:
评论

相关推荐

    Quartz 2D编程指南

    ### 2. Quartz 2D与其他图形技术的整合 在不同的Apple平台上,Quartz 2D能够与多种图形技术无缝协作,例如在iOS和macOS中,它可以与Core Animation、Core Image等技术结合,提供更复杂和高效的图形处理能力。此外,...

    定时框架spring+quartz

    在ssh2_quartz这个文件中,可能包含了一个示例项目,演示了如何在SSH(Struts2、Spring、Hibernate)架构下整合Quartz进行定时任务的实现。开发者可以通过分析这个项目,学习如何配置和使用Spring+Quartz,掌握在...

    Quartz2D的基本使用

    2. 矢量图形:Quartz2D支持矢量图形,这意味着你可以创建无限放大而不失真的图像。这是通过使用路径(CGPath)来实现的,路径由直线、曲线和封闭区域组成。 3. 图层(CALayer):虽然不是Quartz2D的一部分,但与之...

    4个案例:Quartz2D图片处理

    Quartz2D是苹果操作系统内核中的一个二维图形渲染引擎,它为开发者提供了一套强大的API,用于在iOS和macOS平台上进行低级的图形绘制和图像处理。本篇文章将通过四个具体的案例来深入理解Quartz2D在图片处理方面的...

    servlet整合quartz2所需quartz2包

    Servlet整合Quartz2是一项在Java Web应用中实现定时任务的重要技术。Quartz2是一个功能强大的开源作业调度框架,它允许开发者在应用程序中安排任务执行,而无需关心具体执行时间的管理。下面将详细介绍如何整合...

    Quartz 2D编程指南 官方文档翻译

    2. 图形上下文:讨论了各种绘图目的,并提供了创建图形上下文的详细步骤说明。 3. 路径:解释构成路径的基本元素,如何创建和绘制路径,设置剪裁区域,以及混合模式对绘图的影响。 4. 颜色和颜色空间:讨论颜色值...

    Programming with Quartz 2D and PDF Graphics in MacOS

    2. **Carbon与Quartz**:Carbon是另一种开发MacOS应用的技术栈,虽然不如Cocoa流行,但依然可以使用Quartz 2D进行图形处理。 3. **跨平台移植**:如果开发者需要将代码从其他平台(如Windows、Linux)移植到MacOS,...

    Quartz 2D Programming Guide

    ### Quartz 2D编程指南知识点概述 #### 一、Quartz 2D 概述 - **Quartz 2D** 是苹果公司在Mac OS X和iOS操作系统中提供的一套图形处理框架,它允许开发者创建复杂的二维图形。Quartz 2D 提供了一系列的功能,包括...

    Quartz 2D Demo @appleDev

    2. **CGContext对象**:在Quartz 2D中,所有的绘制操作都是通过`CGContext`对象进行的。这个上下文对象包含了绘图的当前状态,如颜色、线宽、填充模式等,并负责将这些绘制指令转化为屏幕上的实际像素。 3. **坐标...

    Quartz2D动画Demo

    2. **定义路径(Path)**:使用`CGPathCreateMutable()`创建一个可变路径,并通过`CGPathAddRect()`, `CGPathAddLineToPoint()`, `CGPathAddCurveToPoint()`等方法定义图形的形状。 3. **选择颜色(Color)**:使用...

    Quartz 2D编程指南(1)

    ### Quartz 2D编程指南(1) - 概览 #### 一、Quartz 2D简介 Quartz 2D 是苹果公司提供的一套强大的二维图形绘制引擎,广泛应用于 iOS 和 macOS 平台。它为开发者提供了丰富的 API 接口,支持多种图形绘制和图像处理...

    ios Quartz 2D编程指南

    ios Quartz 2D编程指南 2d图形处理

    quartz2.2/struts2/spring的整合demo

    quartz2.2/struts2/spring的整合demo,包含一个job和多个job的创建,已经测试过了,可以使用........ quartz2.2/struts2/spring的整合demo,包含一个job和多个job的创建,已经测试过了,可以使用........ quartz2.2/...

    Quartz2D图形刷新和定时器

    2. 异步绘制:Quartz2D默认异步执行绘图操作,这意味着在调用`flush()`之后,绘制过程可能不会立即完成,而是等到系统认为合适的时候再进行。这有助于提高性能,因为多个绘图请求可以合并在一起处理。 二、NSTimer...

    spring2与quartz在Web整合

    Spring 2 和 Quartz 是两个在 Java Web 开发中非常重要的框架。Spring 是一个全面的开源应用框架,提供了依赖注入(DI)、面向切面编程(AOP)以及丰富的数据访问和事务管理功能。Quartz,则是一个功能强大的作业...

    Spring+Quartz2

    Spring 和 Quartz2 是两个在 Java 开发中广泛使用的框架,它们在企业级应用中承担着重要的角色。Spring 是一个全面的、开源的应用框架,而 Quartz2 是一个强大的、开源的作业调度库,常用于实现定时任务。下面我们将...

    quartz2D绘图代码(使用路径)

    2. 路径(CGPath)概念: CGPath是Quartz 2D中的路径对象,用于存储一系列的直线、曲线以及闭合路径。路径由一个或多个子路径组成,每个子路径至少包含一个起点和一个终点。路径可以被填充、描边,甚至可以作为裁剪...

    Programming with Quartz 2D and PDF Graphics in Mac OS X

    ### 关于《使用Quartz 2D与PDF图形在Mac OS X编程》的知识点解析 #### 一、Quartz 2D与PDF图形基础 **Quartz 2D**是苹果为Mac OS X和iOS提供的核心图形处理框架之一。它为开发者提供了高级的2D绘图功能,包括路径...

    Quartz2.X Oracle表结构及字段注释下载

    Quartz2.X Oracle 表结构建表语句和字段注释,可用于Quartz的持久化配置

    quartz quartz-1.8.6 dbTables 建表sql

    Quartz 是一个开源的作业调度框架,广泛应用于Java应用程序中,用于执行定时任务。它提供了丰富的API和灵活性,使得开发者可以方便地定义、安排和管理各种任务。版本1.8.6是Quartz的一个稳定版本,它包含了对数据库...

Global site tag (gtag.js) - Google Analytics