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时,开发者需要创建Job类实现`org.quartz.Job`接口,然后定义Trigger并关联到Job。最后,通过Scheduler实例启动Job的执行。以下是一个简单的示例: ```java import org.quartz.Job; import org...
Maven坐标:org.quartz-scheduler:quartz:2.3.2; 标签:quartz、scheduler、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的...
Maven坐标:org.quartz-scheduler:quartz:2.3.0; 标签:scheduler、quartz、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的...
Maven坐标:org.quartz-scheduler:quartz:2.3.2; 标签:scheduler、quartz、jar包、java、中英对照文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中...
在使用quartz-all-1.6.0.jar时,你需要将这个库导入到你的项目类路径中,然后创建Job类、Trigger对象,最后通过Scheduler实例来安排任务。在`ITMOP说明.txt`中,可能包含有关如何在特定项目(ITMOP)中集成和使用...
quartz-all-1.8.6.jar
解压"quartz-2.4.0-SNAPSHOT-distribution.tar.gz"后,我们主要会看到一个名为"quartz-2.4.0-SNAPSHOT"的目录,其中包含了Quartz框架的所有组件和相关文档。这个目录下通常会有以下内容: 1. **JAR文件**:核心库...
在给定的压缩包文件中,我们有两个版本为1.6.0的Quartz JAR包:`quartz-1.6.0.jar`和`quartz-all-1.6.0.jar`。这两个JAR包虽然名字相似,但它们的内涵有所不同。 `quartz-1.6.0.jar`是Quartz的基本库,包含了核心的...
注:下文中的 *** 代表文件名中的组件名称。 # 包含: 中文-英文对照文档:【***-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【***.jar下载地址(官方地址+国内镜像地址).txt】 ...
请注意,由于以下原因,它被命名为akka-quartz-scheduler并被定位为目标:它不是Quartz的完整端口。 相反,我们利用Quartz的调度系统的概念为Akka提供了比现有的调度组件更健壮和可靠的调度组件。 这里的目标是为...
总之,"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-jboss-2.1.6.jar 和 quartz-weblogic-2.1.6.jar 分别是为了在JBoss和WebLogic应用服务器上运行Quartz而定制的版本,它们可能包含了服务器特定的配置和适配器。 quartz-commonj-2.1.6.jar 支持CommonJ的Timer...
- **Job类**:定义执行任务的类,需要实现`org.quartz.Job`接口,并重写`execute(JobExecutionContext context)`方法。 - **Trigger类**:定义任务触发规则,如CronTrigger、SimpleTrigger,根据时间表达式或间隔...
在标题中提到的 "quartz-all-1.6.0" 版本,是 Quartz 框架的一个特定发行版,它包含了所有必要的组件和库,以便在 Java 环境下使用。 Quartz 主要功能包括: 1. **任务调度**:Quartz 提供了强大的 API,可以方便地...
这个"quartz-all-1.6.0.jar"文件是 Quartz 的一个特定版本,即1.6.0版的全功能包。它包含了 Quartz 框架的所有组件和依赖,使得开发者可以方便地引入到项目中,执行定时任务和工作流控制。 Quartz 框架的核心特性...
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版本及相关资源,对于开发者来说是学习和使用Quartz的重要资料。 1. **Quartz的核心概念** - **Job**:Quartz中的工作单元,代表一个需要执行的...
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.jar"时,开发者需要将其引入到项目类路径中,并通过`Scheduler`实例来配置和启动调度器。配置通常涉及设置数据源、作业存储、触发器工厂等。一旦设置完毕,就可以创建作业并关联触发器,然后让...