`

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;

      }

 

}

 

分享到:
评论

相关推荐

    quartzJob和xml的配置情况

    总结来说,Quartz Job的配置涉及到创建Job类、编写XML配置文件以及在代码中启动Scheduler。通过这种方式,你可以灵活地管理你的定时任务,并根据业务需求调整执行时间。对于旧版本的Quartz(如1.8.0),虽然可能缺少...

    对于Quartz.net 3.0.7.0(目前最高版本)的使用:能过配置文件实现工作调整

    3. **Scheduler(调度器)**: Scheduler是Quartz的核心,负责管理所有的Job和Trigger,并根据Trigger的时间规则执行Job。 **使用quartz_jobs.xml配置文件** 在Quartz.NET 3.x中,虽然XML配置文件并不是默认的首选...

    quartz1.8 作业job配置文件方法

    &lt;description&gt;This is a sample job &lt;job-class&gt;com.example.MyJobClass&lt;/job-class&gt; &lt;/job&gt; &lt;name&gt;CronTriggerForMyJob &lt;group&gt;DefaultTriggerGroup &lt;job-name&gt;MyJob&lt;/job-name&gt; &lt;job-group&gt;...

    Quartz_Scheduler_Example_Programs_and_Sample_Code.pdf Version 2.2.1

    本文档将基于 `Quartz_Scheduler_Example_Programs_and_Sample_Code.pdf` 版本 2.2.1,深入探讨其中的关键概念、示例程序以及样例代码,旨在帮助读者更好地理解和应用 Quartz Scheduler。 #### 关于 Quartz 示例...

    quartz2.2测试用实例

    3. **Scheduler**: Scheduler 是整个Quartz系统的核心,它负责管理和执行Job。你可以通过`SchedulerFactory`获取Scheduler实例,然后使用`scheduleJob()`方法将Job与Trigger关联起来。 4. **配置**: Quartz 配置...

    generate xml format file

    http://www.quartz-scheduler.org/xml/job_scheduling_data_2_0.xsd" version="2.0"&gt; &lt;processing-directives ignoreDuplicates="false" ignoreMisfires="true"/&gt; &lt;job&gt; &lt;name&gt;TestJob &lt;group&gt;Default ...

Global site tag (gtag.js) - Google Analytics