`

quartz - sample JobScheduler

阅读更多

import java.util.Date;

import org.apache.log4j.Logger;

import org.quartz.JobDataMap;

import org.quartz.JobDetail;

import org.quartz.Scheduler;

import org.quartz.SchedulerException;

import org.quartz.SchedulerFactory;

import org.quartz.SimpleTrigger;

import org.quartz.Trigger;

 

public class OrderCancelJobScheduler

{

      SchedulerFactory schedFact;

      Scheduler sched;

      OrderManager orderManager;

     

      public void init() throws SchedulerException

      {

            logger.info(">>> Entering init()..");

            if(schedFact == null) schedFact = new org.quartz.impl.StdSchedulerFactory();

            if(sched == null) sched = schedFact.getScheduler();

            sched.start();

            logger.info("<<< Leaving init().");

      }

 

      public void cancelOrder30SecondsLater(String orderId) throws SchedulerException

      {

            logger.info(">>> Entering cancelOrder30SecondsLater( " + orderId + ")...");

            JobDetail jobDetail = new JobDetail("CancelOrder" + System.currentTimeMillis(), null, OrderCancelJob.class);

            JobDataMap jobDataMap = new JobDataMap();

            jobDataMap.put("orderId", orderId);

            jobDataMap.put("orderManager", orderManager);

            jobDetail.setJobDataMap(jobDataMap);

            Trigger trigger = getOneTimeTrigger();

            sched.scheduleJob(jobDetail, trigger);

            logger.info("<<< Leaving cancelOrder30SecondsLater(" + orderId + ").");

      }

 

      private Trigger getOneTimeTrigger()

      {

            long startTime = System.currentTimeMillis() + 30000L;

            SimpleTrigger trigger = new SimpleTrigger("myTrigger", null, new Date(startTime), null, 0, 0L);

            return trigger;

      }

 

      public void setOrderManager(OrderManager orderManager)

      {

            this.orderManager = orderManager;

      }

 

}

 

分享到:
评论

相关推荐

    quartz-scheduler分享.docx

    使用Quartz-Scheduler时,开发者需要创建Job类实现`org.quartz.Job`接口,然后定义Trigger并关联到Job。最后,通过Scheduler实例启动Job的执行。以下是一个简单的示例: ```java import org.quartz.Job; import org...

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

    Maven坐标:org.quartz-scheduler:quartz:2.3.2; 标签:quartz、scheduler、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的...

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

    Maven坐标:org.quartz-scheduler:quartz:2.3.0; 标签:scheduler、quartz、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的...

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

    Maven坐标:org.quartz-scheduler:quartz:2.3.2; 标签:scheduler、quartz、jar包、java、中英对照文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中...

    quartz-all-1.6.0.jar包定时任务jar

    在使用quartz-all-1.6.0.jar时,你需要将这个库导入到你的项目类路径中,然后创建Job类、Trigger对象,最后通过Scheduler实例来安排任务。在`ITMOP说明.txt`中,可能包含有关如何在特定项目(ITMOP)中集成和使用...

    quartz-all-1.8.6.jar

    quartz-all-1.8.6.jar

    quartz-2.4.0-SNAPSHOT-distribution.tar.gz

    解压"quartz-2.4.0-SNAPSHOT-distribution.tar.gz"后,我们主要会看到一个名为"quartz-2.4.0-SNAPSHOT"的目录,其中包含了Quartz框架的所有组件和相关文档。这个目录下通常会有以下内容: 1. **JAR文件**:核心库...

    quartz-1.6.0.jar和quartz-all-1.6.0.jar

    在给定的压缩包文件中,我们有两个版本为1.6.0的Quartz JAR包:`quartz-1.6.0.jar`和`quartz-all-1.6.0.jar`。这两个JAR包虽然名字相似,但它们的内涵有所不同。 `quartz-1.6.0.jar`是Quartz的基本库,包含了核心的...

    quartz-jobs-2.3.2.jar中文-英文对照文档.zip

    注:下文中的 *** 代表文件名中的组件名称。 # 包含: 中文-英文对照文档:【***-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【***.jar下载地址(官方地址+国内镜像地址).txt】 ...

    akka-quartz-scheduler:Quartz扩展和实用程序,用于Akka中的cron式调度

    请注意,由于以下原因,它被命名为akka-quartz-scheduler并被定位为目标:它不是Quartz的完整端口。 相反,我们利用Quartz的调度系统的概念为Akka提供了比现有的调度组件更健壮和可靠的调度组件。 这里的目标是为...

    quartz quartz-1.8.6 dbTables 建表sql

    总之,"quartz quartz-1.8.6 dbTables" 提供了构建Quartz调度框架所需的数据库脚本,确保了任务调度的存储和恢复功能。通过理解和正确应用这些脚本,开发者可以充分利用Quartz的强大功能,创建和管理复杂的时间驱动...

    quartz-all-1.8.5.jar

    quartz-all-1.8.5.jar quartz-all-1.8.5.jar quartz-all-1.8.5.jar quartz-all-1.8.5.jar

    quartz-2.1.6.zip

    quartz-jboss-2.1.6.jar 和 quartz-weblogic-2.1.6.jar 分别是为了在JBoss和WebLogic应用服务器上运行Quartz而定制的版本,它们可能包含了服务器特定的配置和适配器。 quartz-commonj-2.1.6.jar 支持CommonJ的Timer...

    quartz-2.2.1 最新包

    - **Job类**:定义执行任务的类,需要实现`org.quartz.Job`接口,并重写`execute(JobExecutionContext context)`方法。 - **Trigger类**:定义任务触发规则,如CronTrigger、SimpleTrigger,根据时间表达式或间隔...

    quartz-all-1.6.0

    在标题中提到的 "quartz-all-1.6.0" 版本,是 Quartz 框架的一个特定发行版,它包含了所有必要的组件和库,以便在 Java 环境下使用。 Quartz 主要功能包括: 1. **任务调度**:Quartz 提供了强大的 API,可以方便地...

    quartz-all-1.6.0.jar

    这个"quartz-all-1.6.0.jar"文件是 Quartz 的一个特定版本,即1.6.0版的全功能包。它包含了 Quartz 框架的所有组件和依赖,使得开发者可以方便地引入到项目中,执行定时任务和工作流控制。 Quartz 框架的核心特性...

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

    Maven坐标:org.quartz-scheduler:quartz:2.3.0; 标签:scheduler、quartz、jar包、java、API文档、中英对照版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译...

    quartz-2.3.0-distribution.zip

    "quartz-2.3.0-distribution.zip"这个压缩包包含了Quartz库的2.3.0版本及相关资源,对于开发者来说是学习和使用Quartz的重要资料。 1. **Quartz的核心概念** - **Job**:Quartz中的工作单元,代表一个需要执行的...

    quartz-2.1.1 的所有jar包

    quartz-2.1.1 的所有jar包 quartz-2.1.1.jar quartz-all-2.1.1.jar quartz-backward-compat-2.1.1.jar quartz-commonj-2.1.1.jar quartz-examples-2.1.1.jar quartz-jboss-2.1.1.jar quartz-oracle-2.1.1.jar quartz...

    quartz-2.1.7

    在使用"quartz-2.1.7.jar"时,开发者需要将其引入到项目类路径中,并通过`Scheduler`实例来配置和启动调度器。配置通常涉及设置数据源、作业存储、触发器工厂等。一旦设置完毕,就可以创建作业并关联触发器,然后让...

Global site tag (gtag.js) - Google Analytics