美文网首页
Quartz官方教程翻译系列-Lesson 1

Quartz官方教程翻译系列-Lesson 1

作者: 很大气 | 来源:发表于2019-11-25 15:41 被阅读0次

    第一课: 使用 Quartz

    在你可以使用scheduler[任务调度]之前,它需要被实例化(谁会猜到?)。要做到这一点,你需要用一个SchedulerFactory[任务调度工厂]。部分Quartz用户可能会在JNDI存储上持有一个工厂实例,其他使用者可能发觉直接实例化和使用工厂实例同样容易(或更容易)(正如以下的例子)。

    一旦一个sheduler实例化,它就可以开始,处于待机状态,并可以关闭。注意到一旦一个sheduler关闭,它就不能再重新启动,除非再实例化。Triggers[触发器]在sheduler开始之前,不会被触发(`jobs不会执行),在暂停状态也是如此。

    这里是一个快速代码片段,实例化并启动一个sheduler,并安排作业执行。

    SchedulerFactory schedFact = new org.quartz.impl.StdSchedulerFactory();
    
      Scheduler sched = schedFact.getScheduler();
    
      sched.start();
    
      // 定义job 并且绑定到 HelloJob 类
      JobDetail job = newJob(HelloJob.class)
          .withIdentity("myJob", "group1")
          .build();
    
      // 立刻触发job执行,并每40秒执行一次
      Trigger trigger = newTrigger()
          .withIdentity("myTrigger", "group1")
          .startNow()
          .withSchedule(simpleSchedule()
              .withIntervalInSeconds(40)
              .repeatForever())
          .build();
    
      // 告诉quartz 使用我们的触发器来执行job
      sched.scheduleJob(job, trigger);
    

    如你看到,用quartz相当简单。在第二课我们会快速概览JobsTriggers,并且Quartz的API,让你可以更深入理解这个例子。

    本文由博客一文多发平台 OpenWrite 发布!

    相关文章

      网友评论

          本文标题:Quartz官方教程翻译系列-Lesson 1

          本文链接:https://www.haomeiwen.com/subject/xohjwctx.html