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

Lesson 1: Using Quartz

阅读更多

Quartz Enterprise Job Scheduler Tutorial

 

 

Quartz Enterprise Job Scheduler Tutorial

Lesson 1: Using Quartz

Before you can use the scheduler, it needs to be instantiated (who'd have guessed?). To do this, you use a SchedulerFactory. Some users of Quartz may keep an instance of a factory in a JNDI store, others may find it just as easy (or easier) to instantiate and use a factory instance directly (such as in the example below).

Once a scheduler is instantiated, it can be started, placed in stand-by mode, and shutdown. Note that once a scheduler is shutdown, it cannot be restarted without being re-instantiated. Triggers do not fire (jobs do not execute) until the scheduler has been started, nor while it is in the paused state.

Here's a quick snippet of code, that instantiates and starts a scheduler, and schedules a job for execution:

  SchedulerFactory schedFact = new org.quartz.impl.StdSchedulerFactory();

  Scheduler sched = schedFact.getScheduler();

  sched.start();

  // define the job and tie it to our HelloJob class
  JobDetail job = newJob(HelloJob.class)
      .withIdentity("myJob", "group1")
      .build();
        
  // Trigger the job to run now, and then every 40 seconds
  Trigger trigger = newTrigger()
      .withIdentity("myTrigger", "group1")
      .startNow()
      .withSchedule(simpleSchedule()
          .withIntervalInSeconds(40)
          .repeatForever())            
      .build();
        
  // Tell quartz to schedule the job using our trigger
  sched.scheduleJob(job, trigger);

As you can see, working with quartz is rather simple. In Lesson 2 we'll give a quick overview of Jobs and Triggers, and Quartz's API so that you can more fully understand this example.

分享到:
评论

相关推荐

    开发工具:基于Quartz的定时任务服务系统

    1. **灵活性**:Quartz允许设置精确的调度规则,如每小时、每天、每周、每月执行一次,或者按照复杂的CRON表达式设定。 2. **持久性**:Quartz支持将任务和触发器存储在数据库中,确保在系统重启后仍能恢复调度状态...

    Lesson 4: More About Triggers

    1. **DML触发器**:这是最常见的一种,包括INSERT、UPDATE和DELETE触发器,分别在插入新行、修改现有行或删除行时触发。 2. **DDL触发器**:当数据库架构(如表、视图或索引)发生变化时,DDL触发器会被激活。这有...

    quartz-2.3.2-API文档-中文版.zip

    赠送jar包:quartz-2.3.2.jar; 赠送原API文档:quartz-2.3.2-javadoc.jar; 赠送源代码:quartz-2.3.2-sources.jar; 赠送Maven依赖信息文件:quartz-2.3.2.pom; 包含翻译后的API文档:quartz-2.3.2-javadoc-API...

    quartz-2.3.0-API文档-中文版.zip

    赠送jar包:quartz-2.3.0.jar; 赠送原API文档:quartz-2.3.0-javadoc.jar; 赠送源代码:quartz-2.3.0-sources.jar; 赠送Maven依赖信息文件:quartz-2.3.0.pom; 包含翻译后的API文档:quartz-2.3.0-javadoc-API...

    quartz-2.3.2-API文档-中英对照版.zip

    赠送jar包:quartz-2.3.2.jar; 赠送原API文档:quartz-2.3.2-javadoc.jar; 赠送源代码:quartz-2.3.2-sources.jar; 赠送Maven依赖信息文件:quartz-2.3.2.pom; 包含翻译后的API文档:quartz-2.3.2-javadoc-API...

    quartz2.2.3实战

    1. **Quartz 主要功能** - **任务调度**:Quartz 支持定时任务和一次性任务,可以根据日期、时间间隔或者触发条件进行调度。 - **作业与触发器**:作业(Job)是需要执行的任务,触发器(Trigger)定义了何时触发...

    Lesson 3: More About Jobs and Job Details

    "Lesson 3: More About Jobs and Job Details"这个主题聚焦于如何更深入地理解任务(Jobs)以及它们的相关细节。在这个教程中,我们将探讨任务管理的核心概念、相关的工具,以及如何通过源码分析来了解其工作原理。 ...

    quartz-2.3.0-API文档-中英对照版.zip

    赠送jar包:quartz-2.3.0.jar; 赠送原API文档:quartz-2.3.0-javadoc.jar; 赠送源代码:quartz-2.3.0-sources.jar; 赠送Maven依赖信息文件:quartz-2.3.0.pom; 包含翻译后的API文档:quartz-2.3.0-javadoc-API...

    4个案例:Quartz2D图片处理

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

    quartz实例

    1. **作业(Job)**:在Quartz中,作业是一个实现了`org.quartz.Job`接口的类。这个接口只有一个方法`execute(JobExecutionContext context)`,在这个方法中,你可以编写执行的业务逻辑。 2. **触发器(Trigger)**...

    quartz指南,Quartz 工程

    文件里面包括 1:Quartz开发指南.pdf 2:Quartz从入门到进阶.pdf 3:QuartzBeginnerExample一个附带的工程例子 4:quartz-1.6.1.zip Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它...

    Lesson 7: TriggerListeners and c

    `TriggerListeners`和`JobListeners`是Quartz Scheduler这种流行的Java作业调度框架中的重要概念。Quartz Scheduler允许我们精确控制任务何时运行以及如何运行。这篇博文将深入探讨这两个概念,以及它们在实际应用中...

    spring任务调度(Quartz )

    1. **任务定义**:通过`JobDetailBean`来定义一个具体的任务。例如,`userJob`就是一个任务,它的类是`schedule.TestJob`。在`TestJob`中,我们可以定义任务的具体执行逻辑。同时,通过`jobDataAsMap`属性,可以传递...

    quartz.rar

    1. **灵活的调度**:Quartz 支持定时、一次性、循环以及基于依赖关系的任务调度。你可以设置精确到毫秒的调度时间,或者使用 CRON 表达式定义复杂的调度规则。 2. **集群支持**:Quartz 可以在多台服务器上运行,...

    QuartzManager:在quartz包的基础上,封装了新增、修改、删除和获取定时任务状态的功能,方便对多个定时任务的管理

    本工具在quartz包的基础上,封装了新增、修改、删除和获取定时任务状态的功能,方便对多个定时任务的管理。 详情见工具类: jar包资源: 方法如下: /** * 添加一个定时任务,使用默认的任务组名,触发器名,...

    quartz-1.4.5以及源码

    1. **任务(Job)与触发器(Trigger)**:在Quartz中,任务是需要执行的工作单元,定义了具体的业务逻辑;触发器则决定任务何时启动。常见的触发器类型有简单触发器、cron触发器等,可以按照时间间隔或者自定义的...

    quartz包和官方例子

    1. **Job与Trigger**: - **Job**:Job是Quartz中的基本任务单元,你需要创建一个实现`org.quartz.Job`接口的类来定义一个Job。Job类中定义了`execute(JobExecutionContext context)`方法,这是真正执行任务的入口...

    quartz-1.6.1-API文档-中英对照版.zip

    赠送jar包:quartz-1.6.1.jar 赠送原API文档:quartz-1.6.1-javadoc.jar 包含翻译后的API文档:quartz-1.6.1-javadoc-API文档-中文(简体)-英语-对照版.zip 对应Maven信息:groupId:org.opensymphony.quartz,...

    quartz-2.3.0数据库表SQL.zip

    1. **Quartz 框架**: - Quartz 框架的核心概念包括Job(作业)、Trigger(触发器)、Calendar(日历)和Scheduler(调度器)。Job代表要执行的任务,Trigger定义了任务的执行时间,Calendar用于排除某些日期,而...

Global site tag (gtag.js) - Google Analytics